{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "00962cc9",
   "metadata": {},
   "outputs": [],
   "source": [
    "import pandas as pd\n",
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "import time\n",
    "import math"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "45f95e1b",
   "metadata": {},
   "source": [
    "数据处理部分"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "830c7214",
   "metadata": {},
   "outputs": [],
   "source": [
    "#选择原始数据中的一部分\n",
    "df=pd.read_csv('E:/推荐系统/数据集/MovieLens/ml-latest/ratings.csv')\n",
    "df_copy1=df.copy()     #正负反馈皆有\n",
    "df_copy2=df.copy()      \n",
    "df_copy2=df_copy1[df_copy1['rating']>2.9]     #只有正反馈\n",
    "df=df_copy2.iloc[:50000].sample(frac=1,random_state=1)[['userId','movieId']]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "9869b497",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "数据集中的电影部数：7142\n",
      "数据集中的用户数：597\n",
      "训练集中的电影部数：6560\n",
      "训练集中的用户数：595\n"
     ]
    }
   ],
   "source": [
    "#划分训练集、测试集\n",
    "proportion=0.8\n",
    "train=df.iloc[0:int(proportion*df.shape[0])]\n",
    "test=df.iloc[int(proportion*df.shape[0]):]\n",
    "\n",
    "print(\"数据集中的电影部数：%d\"%len(df['movieId'].unique()))\n",
    "print(\"数据集中的用户数：%d\"%len(df['userId'].unique()))\n",
    "print(\"训练集中的电影部数：%d\"%len(train['movieId'].unique()))\n",
    "print(\"训练集中的用户数：%d\"%len(train['userId'].unique()))"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "3f7972d7",
   "metadata": {},
   "source": [
    "定义使用到的函数，获得中间量"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "24a658dd",
   "metadata": {},
   "outputs": [],
   "source": [
    "#物品相似度矩阵计算函数：\n",
    "def items_relevance_matrix(train):\n",
    "    C={}\n",
    "    N={}\n",
    "    i=0\n",
    "    for userId, result in train.groupby('userId'):  #依照用户划分行为数据集\n",
    "        result=pd.DataFrame(result.reset_index(drop=True))\n",
    "        for j in range(result.shape[0]):\n",
    "            movie1=result.iloc[j]['movieId']\n",
    "            if movie1 not in N:\n",
    "                N[movie1]=0\n",
    "            N[movie1]+=1\n",
    "            for k in range(j+1,result.shape[0]):\n",
    "                movie2=result.iloc[k]['movieId']\n",
    "\n",
    "                if movie2==movie1:\n",
    "                    continue\n",
    "                else:\n",
    "                    if (movie1,movie2) not in C:\n",
    "                        C[movie1,movie2]=0\n",
    "                    if (movie2,movie1) not in C:\n",
    "                        C[movie2,movie1]=0\n",
    "                    C[movie1,movie2]+=1\n",
    "                    C[movie2,movie1]+=1\n",
    "    W={}\n",
    "    for key in C:\n",
    "        Ni=N[key[0]]\n",
    "        Nj=N[key[1]]\n",
    "        W[key]=C[key]/(math.sqrt(Ni)*math.sqrt(Nj))\n",
    "        \n",
    "    #得到具有相似度的每一对物品及它们的相似度，将字典形式的W变为DataFrame形式，方便后面检索,df_W[df_W['item1']==movieId]相当于W的对应movieId的哪一行\n",
    "    item1_lst=[]\n",
    "    item2_lst=[]\n",
    "    for key in W.keys():\n",
    "        item1_lst.append(key[0])\n",
    "        item2_lst.append(key[1])\n",
    "    df_W=pd.DataFrame({\n",
    "                        'item1':item1_lst,\n",
    "                        'item2':item2_lst,\n",
    "                        'relevance':W.values()    \n",
    "                        })   \n",
    "    #归一化\n",
    "    df_W_normalization=pd.DataFrame(columns=['item1','item2','relevance'])\n",
    "    for item1,result in df_W.groupby('item1'):\n",
    "        result=result.reset_index(drop=True)\n",
    "        max_=max(result['relevance'])\n",
    "        result['relevance']=result['relevance']/max_\n",
    "        df_W_normalization=pd.concat([df_W_normalization,result])\n",
    "        \n",
    "    return df_W_normalization"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "3a066c4d",
   "metadata": {},
   "outputs": [],
   "source": [
    "#获取物品相似度\n",
    "#df_W_normalization=items_relevance_matrix(train)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "id": "74c489d3",
   "metadata": {},
   "outputs": [],
   "source": [
    "#df_W=pd.read_csv('E:/推荐系统/代码/中间量/Item_based-CF-物品相似度矩阵归一化.csv')\n",
    "#df_W_normalization.to_csv('E:/推荐系统/代码/中间量/Item_based-CF-物品相似度矩阵归一化.csv',index=False)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "id": "791a3000",
   "metadata": {},
   "outputs": [],
   "source": [
    "#物品流行度计算函数：\n",
    "def items_popularity(train):\n",
    "    train_copy=train.copy()\n",
    "    train_copy['popularity']=1\n",
    "    df_movie_popularity=train_copy.groupby('movieId').agg('sum').reset_index()\n",
    "    df_movie_popularity=df_movie_popularity[['movieId','popularity']]\n",
    "    df_movie_popularity\n",
    "    return df_movie_popularity\n",
    "#计算物品流行度，主要为了后面计算推荐名单结果的流行度\n",
    "df_movie_popularity=items_popularity(train)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "id": "b9fc92ff",
   "metadata": {},
   "outputs": [],
   "source": [
    "#评价指标函数：\n",
    "def Popularity_func(item1,df_movie_popularity):\n",
    "    popularity=0\n",
    "    n=0\n",
    "    for item in item1:\n",
    "        popularity=popularity+df_movie_popularity[df_movie_popularity['movieId']==item]['popularity'].values[0]\n",
    "        n+=1\n",
    "    return popularity/n\n",
    "def Recall_func(item1,item2):\n",
    "    return len( list(set(item1).intersection(set(item2))) )/len(item2)\n",
    "def Precision_func(item1,item2):\n",
    "    return len( list(set(item1).intersection(set(item2))) )/len(item1)\n",
    "def Coverage_func(item1,item2):\n",
    "    return len(item1)/len(train['movieId'].unique())\n",
    "\n",
    "#基于物品相似度得到给定物品的K近邻\n",
    "def get_Kneighbors(df_item_W,K):\n",
    "    '''\n",
    "    df_item_W为给定物品的df_W部分，df_W为训练集中物品的相似度矩阵，所以df_item_W为物品与其他物品的相似度\n",
    "    '''\n",
    "    relevance=list(df_item_W['relevance'])\n",
    "    index=np.argsort(relevance)[-K:]\n",
    "    \n",
    "    #返回前K个最相似的物品的名称和具体的相似度\n",
    "    return list(df_item_W.iloc[index]['item2']),list(df_item_W.iloc[index]['relevance'])\n",
    "\n",
    "#基于目标用户关于训练集未交互过的物品的感兴趣程度的字典rank，给出前K2个最感兴趣的物品作为推荐名单\n",
    "def getTopK(rank,K):\n",
    "    '''\n",
    "    rank存储对物品的感兴趣程度，将根据感兴趣程度选择前K个最感兴趣的返回\n",
    "    '''\n",
    "    if len(rank.values())<=K:\n",
    "        K_item1=list(rank.keys())\n",
    "    \n",
    "    else:\n",
    "        rank_keys=list(rank.keys())\n",
    "        rank_values=list(rank.values())\n",
    "        index=list(np.argsort(rank_values)[-K:])\n",
    "        K_item1=[]\n",
    "        for i in range(len(index)):\n",
    "            K_item1.append(rank_keys[index[i]])     \n",
    "    return K_item1"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "id": "c2382f86",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "测试集用户共548个\n"
     ]
    }
   ],
   "source": [
    "print(\"测试集用户共%d个\"%len(test['userId'].unique()))\n",
    "test_user_number=len(test['userId'].unique())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "id": "95777a63",
   "metadata": {},
   "outputs": [],
   "source": [
    "#计算用户对物品的偏好（感兴趣程度），计算的是每个用户对每个物品的偏好\n",
    "def user_item_preference(train,df_W,K):\n",
    "    Preference={}\n",
    "    count=0\n",
    "    for item in train['movieId'].unique():\n",
    "        df_train_item_W=df_W[df_W['item1']==item]\n",
    "        item_Kneighbors,item_relevance=get_Kneighbors(df_train_item_W,K)\n",
    "        \n",
    "        for user in train['userId'].unique():\n",
    "            train_items_user=set(train[train['userId']==user]['movieId'])\n",
    "            intersection_set=train_items_user.intersection(set(item_Kneighbors)) #根据这个交集，计算user对item的感兴趣程度\n",
    "            if len(intersection_set)==0:\n",
    "                #print(\"用户：%d对物品%d不感兴趣\"%(user,item))\n",
    "                continue\n",
    "            if (user,item) not in Preference:\n",
    "                Preference[user,item]=0\n",
    "            for i in intersection_set:\n",
    "                Preference[user,item]+=df_train_item_W[df_train_item_W['item2']==i]['relevance'].values[0]\n",
    "        count+=1\n",
    "        print(count)\n",
    "    return Preference"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "6ff0ad40",
   "metadata": {},
   "outputs": [],
   "source": [
    "Preference=user_item_preference(train,df_W,100)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "id": "84c85a55",
   "metadata": {},
   "outputs": [],
   "source": [
    "#np.save('E:/推荐系统/代码/中间量/Item-based-CF_Preference_物品相似度归一化.npy',Preference)\n",
    "#Preference=np.load('E:/推荐系统/代码/中间量/Item-based-CF_Preference_物品相似度归一化.npy',allow_pickle=True).item()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "1cc51832",
   "metadata": {},
   "source": [
    "预测部分"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "1e84bb3c",
   "metadata": {},
   "source": [
    "重要的参数有：\n",
    "\n",
    "1.计算用户对物品的感兴趣程度时，需要计算物品的K近邻的K值。\n",
    "K值很小时，K近邻集合与用户交互物品集合可能为空，导致用户对很多物品不感兴趣，推荐精度降低。\n",
    "K值理论上越大越好，K越大计算的感兴趣程度越准确，但会带来计算负担。实际上最耗时间的就是计算Preference。\n",
    "\n",
    "2.在预测时，首先需要找到每个测试集用户在训练集中交互过的每个物品的K近邻，然后得到对这些K近邻并集中的物品的感兴趣程度，然后进行排序推荐。\n",
    "（所以提前计算Preference的原因就在于，可以直接获取用户对每个物品的兴趣，而不是预测时现场计算）这里的K需要确定。\n",
    "理论上依然是K越大越好，K越大说明待选的推荐物品越多，因为是在这些K近邻并集中挑选推荐物品。\n",
    "实际操作时发现K的增大不会带来很大的计算负担，因为带来的计算量只是对rank排序，Preference已经计算完毕的前提下，不会很慢。但考虑到平均每个用户训练集交互60个物品，训练集共6000物品左右，所以K取100应该就能大体覆盖所有物品，即考虑到用户对所有物品的感兴趣程度。\n",
    "\n",
    "3.对rank排序后，挑选前K个进行推荐，这里的K就是推荐名单item1的大小。一般K越大，recall越大，precision越小。\n",
    "\n",
    "上述三个K中，第一个K对计算速度影响最大，也对推荐准确度等方面有巨大影响。\n",
    "第三个K会对recall和precision的权衡带来影响。\n",
    "\n",
    "大概十分钟预测完毕"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "id": "71653971",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "已经处理过的测试集用户数目为：1\n",
      "当前精确率为：0.000000\n",
      "当前召回率为：0.000000\n",
      "当前流行度为：15.950000\n",
      "当前覆盖率为：0.006098\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：2\n",
      "当前精确率为：0.012500\n",
      "当前召回率为：0.125000\n",
      "当前流行度为：17.375000\n",
      "当前覆盖率为：0.011585\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：3\n",
      "当前精确率为：0.008333\n",
      "当前召回率为：0.083333\n",
      "当前流行度为：35.583333\n",
      "当前覆盖率为：0.017683\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：4\n",
      "当前精确率为：0.118750\n",
      "当前召回率为：0.104953\n",
      "当前流行度为：40.781250\n",
      "当前覆盖率为：0.022256\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：5\n",
      "当前精确率为：0.130000\n",
      "当前召回率为：0.171462\n",
      "当前流行度为：43.955000\n",
      "当前覆盖率为：0.026677\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：6\n",
      "当前精确率为：0.120833\n",
      "当前召回率为：0.205385\n",
      "当前流行度为：45.237500\n",
      "当前覆盖率为：0.032165\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：7\n",
      "当前精确率为：0.103571\n",
      "当前召回率为：0.176044\n",
      "当前流行度为：40.067857\n",
      "当前覆盖率为：0.037957\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：8\n",
      "当前精确率为：0.090625\n",
      "当前召回率为：0.154039\n",
      "当前流行度为：40.540625\n",
      "当前覆盖率为：0.042073\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：9\n",
      "当前精确率为：0.100000\n",
      "当前召回率为：0.180133\n",
      "当前流行度为：43.544444\n",
      "当前覆盖率为：0.044360\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：10\n",
      "当前精确率为：0.090000\n",
      "当前召回率为：0.162120\n",
      "当前流行度为：42.875000\n",
      "当前覆盖率为：0.048171\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：11\n",
      "当前精确率为：0.081818\n",
      "当前召回率为：0.147382\n",
      "当前流行度为：40.977273\n",
      "当前覆盖率为：0.050915\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：12\n",
      "当前精确率为：0.089583\n",
      "当前召回率为：0.149683\n",
      "当前流行度为：42.318750\n",
      "当前覆盖率为：0.053963\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：13\n",
      "当前精确率为：0.094231\n",
      "当前召回率为：0.155921\n",
      "当前流行度为：43.719231\n",
      "当前覆盖率为：0.055640\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：14\n",
      "当前精确率为：0.096429\n",
      "当前召回率为：0.180498\n",
      "当前流行度为：43.891071\n",
      "当前覆盖率为：0.058079\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：15\n",
      "当前精确率为：0.091667\n",
      "当前召回率为：0.235131\n",
      "当前流行度为：44.956667\n",
      "当前覆盖率为：0.059451\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：16\n",
      "当前精确率为：0.107813\n",
      "当前召回率为：0.269047\n",
      "当前流行度为：44.900000\n",
      "当前覆盖率为：0.060976\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：17\n",
      "当前精确率为：0.110294\n",
      "当前召回率为：0.262270\n",
      "当前流行度为：45.629412\n",
      "当前覆盖率为：0.061738\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：18\n",
      "当前精确率为：0.104167\n",
      "当前召回率为：0.247700\n",
      "当前流行度为：44.252778\n",
      "当前覆盖率为：0.065244\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：19\n",
      "当前精确率为：0.098684\n",
      "当前召回率为：0.234663\n",
      "当前流行度为：44.226316\n",
      "当前覆盖率为：0.067835\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：20\n",
      "当前精确率为：0.095000\n",
      "当前召回率为：0.272930\n",
      "当前流行度为：42.990000\n",
      "当前覆盖率为：0.071494\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：21\n",
      "当前精确率为：0.094048\n",
      "当前召回率为：0.288504\n",
      "当前流行度为：44.361905\n",
      "当前覆盖率为：0.071494\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：22\n",
      "当前精确率为：0.097727\n",
      "当前召回率为：0.286362\n",
      "当前流行度为：44.520455\n",
      "当前覆盖率为：0.072866\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：23\n",
      "当前精确率为：0.095652\n",
      "当前召回率为：0.302897\n",
      "当前流行度为：46.026087\n",
      "当前覆盖率为：0.073171\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：24\n",
      "当前精确率为：0.094792\n",
      "当前召回率为：0.315277\n",
      "当前流行度为：47.178125\n",
      "当前覆盖率为：0.073476\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：25\n",
      "当前精确率为：0.091000\n",
      "当前召回率为：0.302666\n",
      "当前流行度为：47.757000\n",
      "当前覆盖率为：0.075457\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：26\n",
      "当前精确率为：0.093269\n",
      "当前召回率为：0.304599\n",
      "当前流行度为：48.491346\n",
      "当前覆盖率为：0.075610\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：27\n",
      "当前精确率为：0.092593\n",
      "当前召回率为：0.330355\n",
      "当前流行度为：49.701852\n",
      "当前覆盖率为：0.075610\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：28\n",
      "当前精确率为：0.090179\n",
      "当前召回率为：0.322525\n",
      "当前流行度为：50.083929\n",
      "当前覆盖率为：0.076220\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：29\n",
      "当前精确率为：0.088793\n",
      "当前召回率为：0.318300\n",
      "当前流行度为：50.861207\n",
      "当前覆盖率为：0.076372\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：30\n",
      "当前精确率为：0.091667\n",
      "当前召回率为：0.321415\n",
      "当前流行度为：51.202500\n",
      "当前覆盖率为：0.076524\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：31\n",
      "当前精确率为：0.090323\n",
      "当前召回率为：0.317499\n",
      "当前流行度为：51.024194\n",
      "当前覆盖率为：0.077439\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：32\n",
      "当前精确率为：0.089063\n",
      "当前召回率为：0.310866\n",
      "当前流行度为：51.560938\n",
      "当前覆盖率为：0.077439\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：33\n",
      "当前精确率为：0.089394\n",
      "当前召回率为：0.308576\n",
      "当前流行度为：52.103788\n",
      "当前覆盖率为：0.077439\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：34\n",
      "当前精确率为：0.086765\n",
      "当前召回率为：0.299500\n",
      "当前流行度为：53.095588\n",
      "当前覆盖率为：0.077439\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：35\n",
      "当前精确率为：0.084286\n",
      "当前召回率为：0.290943\n",
      "当前流行度为：51.649048\n",
      "当前覆盖率为：0.079573\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：36\n",
      "当前精确率为：0.093056\n",
      "当前召回率为：0.291092\n",
      "当前流行度为：52.012269\n",
      "当前覆盖率为：0.079573\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：37\n",
      "当前精确率为：0.096622\n",
      "当前召回率为：0.288189\n",
      "当前流行度为：52.456532\n",
      "当前覆盖率为：0.079573\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：38\n",
      "当前精确率为：0.097368\n",
      "当前召回率为：0.290003\n",
      "当前流行度为：52.278070\n",
      "当前覆盖率为：0.080640\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：39\n",
      "当前精确率为：0.096795\n",
      "当前召回率为：0.285912\n",
      "当前流行度为：52.742735\n",
      "当前覆盖率为：0.080640\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：40\n",
      "当前精确率为：0.099375\n",
      "当前召回率为：0.284646\n",
      "当前流行度为：52.919167\n",
      "当前覆盖率为：0.080945\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：41\n",
      "当前精确率为：0.104878\n",
      "当前召回率为：0.286763\n",
      "当前流行度为：53.104675\n",
      "当前覆盖率为：0.081098\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：42\n",
      "当前精确率为：0.102381\n",
      "当前召回率为：0.279935\n",
      "当前流行度为：52.334325\n",
      "当前覆盖率为：0.084299\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：43\n",
      "当前精确率为：0.100581\n",
      "当前召回率为：0.285053\n",
      "当前流行度为：52.305039\n",
      "当前覆盖率为：0.084604\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：44\n",
      "当前精确率为：0.102841\n",
      "当前召回率为：0.281100\n",
      "当前流行度为：52.441856\n",
      "当前覆盖率为：0.084604\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：45\n",
      "当前精确率为：0.101111\n",
      "当前召回率为：0.277631\n",
      "当前流行度为：53.033704\n",
      "当前覆盖率为：0.084604\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：46\n",
      "当前精确率为：0.103261\n",
      "当前召回率为：0.279157\n",
      "当前流行度为：53.018841\n",
      "当前覆盖率为：0.084909\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：47\n",
      "当前精确率为：0.102128\n",
      "当前召回率为：0.281728\n",
      "当前流行度为：52.849291\n",
      "当前覆盖率为：0.085671\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：48\n",
      "当前精确率为：0.105208\n",
      "当前召回率为：0.280291\n",
      "当前流行度为：53.176389\n",
      "当前覆盖率为：0.085671\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：49\n",
      "当前精确率为：0.106633\n",
      "当前召回率为：0.276583\n",
      "当前流行度为：53.426871\n",
      "当前覆盖率为：0.085671\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：50\n",
      "当前精确率为：0.105500\n",
      "当前召回率为：0.281052\n",
      "当前流行度为：53.909333\n",
      "当前覆盖率为：0.085671\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：51\n",
      "当前精确率为：0.104412\n",
      "当前召回率为：0.288613\n",
      "当前流行度为：54.057680\n",
      "当前覆盖率为：0.085671\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：52\n",
      "当前精确率为：0.105769\n",
      "当前召回率为：0.293417\n",
      "当前流行度为：53.955609\n",
      "当前覆盖率为：0.086280\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：53\n",
      "当前精确率为：0.106604\n",
      "当前召回率为：0.295428\n",
      "当前流行度为：53.766824\n",
      "当前覆盖率为：0.086280\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：54\n",
      "当前精确率为：0.104630\n",
      "当前召回率为：0.289958\n",
      "当前流行度为：53.361883\n",
      "当前覆盖率为：0.087805\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：55\n",
      "当前精确率为：0.103636\n",
      "当前召回率为：0.290746\n",
      "当前流行度为：53.796667\n",
      "当前覆盖率为：0.087805\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：56\n",
      "当前精确率为：0.102232\n",
      "当前召回率为：0.291507\n",
      "当前流行度为：53.941369\n",
      "当前覆盖率为：0.087805\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：57\n",
      "当前精确率为：0.100877\n",
      "当前召回率为：0.303936\n",
      "当前流行度为：53.927485\n",
      "当前覆盖率为：0.087805\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：58\n",
      "当前精确率为：0.099569\n",
      "当前召回率为：0.307317\n",
      "当前流行度为：54.214511\n",
      "当前覆盖率为：0.087805\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：59\n",
      "当前精确率为：0.097881\n",
      "当前召回率为：0.302108\n",
      "当前流行度为：53.585452\n",
      "当前覆盖率为：0.091768\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：60\n",
      "当前精确率为：0.099167\n",
      "当前召回率为：0.303554\n",
      "当前流行度为：53.851528\n",
      "当前覆盖率为：0.091768\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：61\n",
      "当前精确率为：0.097951\n",
      "当前召回率为：0.301857\n",
      "当前流行度为：54.127732\n",
      "当前覆盖率为：0.091768\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：62\n",
      "当前精确率为：0.096371\n",
      "当前召回率为：0.296988\n",
      "当前流行度为：54.490995\n",
      "当前覆盖率为：0.091768\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：63\n",
      "当前精确率为：0.096429\n",
      "当前召回率为：0.296242\n",
      "当前流行度为：54.816138\n",
      "当前覆盖率为：0.091768\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：64\n",
      "当前精确率为：0.098438\n",
      "当前召回率为：0.295129\n",
      "当前流行度为：54.933073\n",
      "当前覆盖率为：0.091768\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：65\n",
      "当前精确率为：0.098846\n",
      "当前召回率为：0.292851\n",
      "当前流行度为：55.136410\n",
      "当前覆盖率为：0.091921\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：66\n",
      "当前精确率为：0.104167\n",
      "当前召回率为：0.291585\n",
      "当前流行度为：55.177904\n",
      "当前覆盖率为：0.091921\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：67\n",
      "当前精确率为：0.102612\n",
      "当前召回率为：0.287233\n",
      "当前流行度为：55.177488\n",
      "当前覆盖率为：0.092683\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：68\n",
      "当前精确率为：0.102941\n",
      "当前召回率为：0.291179\n",
      "当前流行度为：55.154289\n",
      "当前覆盖率为：0.093140\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：69\n",
      "当前精确率为：0.101812\n",
      "当前召回率为：0.288771\n",
      "当前流行度为：55.554227\n",
      "当前覆盖率为：0.093140\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：70\n",
      "当前精确率为：0.100357\n",
      "当前召回率为：0.284645\n",
      "当前流行度为：54.881667\n",
      "当前覆盖率为：0.097713\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：71\n",
      "当前精确率为：0.103873\n",
      "当前召回率为：0.282903\n",
      "当前流行度为：54.934742\n",
      "当前覆盖率为：0.097866\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：72\n",
      "当前精确率为：0.102431\n",
      "当前召回率为：0.278974\n",
      "当前流行度为：54.383565\n",
      "当前覆盖率为：0.100762\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：73\n",
      "当前精确率为：0.109932\n",
      "当前召回率为：0.277575\n",
      "当前流行度为：54.392009\n",
      "当前覆盖率为：0.101067\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：74\n",
      "当前精确率为：0.108784\n",
      "当前召回率为：0.277202\n",
      "当前流行度为：54.524550\n",
      "当前覆盖率为：0.101067\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：75\n",
      "当前精确率为：0.110000\n",
      "当前召回率为：0.279120\n",
      "当前流行度为：54.388556\n",
      "当前覆盖率为：0.101372\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：76\n",
      "当前精确率为：0.109539\n",
      "当前召回率为：0.276721\n",
      "当前流行度为：54.353180\n",
      "当前覆盖率为：0.102134\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：77\n",
      "当前精确率为：0.108117\n",
      "当前召回率为：0.273127\n",
      "当前流行度为：53.970996\n",
      "当前覆盖率为：0.103659\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：78\n",
      "当前精确率为：0.106731\n",
      "当前召回率为：0.269626\n",
      "当前流行度为：53.631944\n",
      "当前覆盖率为：0.106402\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：79\n",
      "当前精确率为：0.105380\n",
      "当前召回率为：0.266213\n",
      "当前流行度为：53.110654\n",
      "当前覆盖率为：0.110061\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：80\n",
      "当前精确率为：0.108125\n",
      "当前召回率为：0.265275\n",
      "当前流行度为：53.222396\n",
      "当前覆盖率为：0.110061\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：81\n",
      "当前精确率为：0.107407\n",
      "当前召回率为：0.268172\n",
      "当前流行度为：53.011934\n",
      "当前覆盖率为：0.110976\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：82\n",
      "当前精确率为：0.108232\n",
      "当前召回率为：0.267413\n",
      "当前流行度为：53.274593\n",
      "当前覆盖率为：0.110976\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：83\n",
      "当前精确率为：0.106928\n",
      "当前召回率为：0.264191\n",
      "当前流行度为：52.779719\n",
      "当前覆盖率为：0.114482\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：84\n",
      "当前精确率为：0.105952\n",
      "当前召回率为：0.264022\n",
      "当前流行度为：52.533829\n",
      "当前覆盖率为：0.115091\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：85\n",
      "当前精确率为：0.104706\n",
      "当前召回率为：0.260916\n",
      "当前流行度为：51.934020\n",
      "当前覆盖率为：0.120579\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：86\n",
      "当前精确率为：0.106686\n",
      "当前召回率为：0.262619\n",
      "当前流行度为：52.104264\n",
      "当前覆盖率为：0.120579\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：87\n",
      "当前精确率为：0.105460\n",
      "当前召回率为：0.259601\n",
      "当前流行度为：52.065134\n",
      "当前覆盖率为：0.121341\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：88\n",
      "当前精确率为：0.104261\n",
      "当前召回率为：0.256651\n",
      "当前流行度为：51.576610\n",
      "当前覆盖率为：0.126067\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：89\n",
      "当前精确率为：0.103090\n",
      "当前召回率为：0.253767\n",
      "当前流行度为：51.539232\n",
      "当前覆盖率为：0.127134\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：90\n",
      "当前精确率为：0.102222\n",
      "当前召回率为：0.251392\n",
      "当前流行度为：51.688241\n",
      "当前覆盖率为：0.127134\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：91\n",
      "当前精确率为：0.106044\n",
      "当前召回率为：0.250877\n",
      "当前流行度为：51.767491\n",
      "当前覆盖率为：0.127134\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：92\n",
      "当前精确率为：0.105707\n",
      "当前召回率为：0.252808\n",
      "当前流行度为：51.767301\n",
      "当前覆盖率为：0.127134\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：93\n",
      "当前精确率为：0.105914\n",
      "当前召回率为：0.252428\n",
      "当前流行度为：51.982706\n",
      "当前覆盖率为：0.127134\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：94\n",
      "当前精确率为：0.104787\n",
      "当前召回率为：0.249742\n",
      "当前流行度为：51.614539\n",
      "当前覆盖率为：0.129116\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：95\n",
      "当前精确率为：0.104211\n",
      "当前召回率为：0.248733\n",
      "当前流行度为：51.602018\n",
      "当前覆盖率为：0.129268\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：96\n",
      "当前精确率为：0.103646\n",
      "当前召回率为：0.256559\n",
      "当前流行度为：51.808247\n",
      "当前覆盖率为：0.129268\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：97\n",
      "当前精确率为：0.102577\n",
      "当前召回率为：0.253914\n",
      "当前流行度为：52.037801\n",
      "当前覆盖率为：0.129726\n",
      "\n",
      "\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "已经处理过的测试集用户数目为：98\n",
      "当前精确率为：0.101531\n",
      "当前召回率为：0.251323\n",
      "当前流行度为：52.242007\n",
      "当前覆盖率为：0.129726\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：99\n",
      "当前精确率为：0.100505\n",
      "当前召回率为：0.248784\n",
      "当前流行度为：52.356734\n",
      "当前覆盖率为：0.130183\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：100\n",
      "当前精确率为：0.099500\n",
      "当前召回率为：0.246296\n",
      "当前流行度为：52.130167\n",
      "当前覆盖率为：0.131250\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：101\n",
      "当前精确率为：0.099752\n",
      "当前召回率为：0.247983\n",
      "当前流行度为：52.389521\n",
      "当前覆盖率为：0.131250\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：102\n",
      "当前精确率为：0.099265\n",
      "当前召回率为：0.249473\n",
      "当前流行度为：52.234722\n",
      "当前覆盖率为：0.131402\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：103\n",
      "当前精确率为：0.098301\n",
      "当前召回率为：0.247051\n",
      "当前流行度为：52.503317\n",
      "当前覆盖率为：0.131555\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：104\n",
      "当前精确率为：0.100000\n",
      "当前召回率为：0.246926\n",
      "当前流行度为：52.491266\n",
      "当前覆盖率为：0.131555\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：105\n",
      "当前精确率为：0.099048\n",
      "当前召回率为：0.244575\n",
      "当前流行度为：52.049683\n",
      "当前覆盖率为：0.135671\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：106\n",
      "当前精确率为：0.098821\n",
      "当前召回率为：0.246310\n",
      "当前流行度为：52.281525\n",
      "当前覆盖率为：0.135671\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：107\n",
      "当前精确率为：0.098832\n",
      "当前召回率为：0.248681\n",
      "当前流行度为：52.195249\n",
      "当前覆盖率为：0.135823\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：108\n",
      "当前精确率为：0.097917\n",
      "当前召回率为：0.246379\n",
      "当前流行度为：51.874228\n",
      "当前覆盖率为：0.139177\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：109\n",
      "当前精确率为：0.098394\n",
      "当前召回率为：0.245051\n",
      "当前流行度为：51.933410\n",
      "当前覆盖率为：0.139329\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：110\n",
      "当前精确率为：0.097500\n",
      "当前召回率为：0.242824\n",
      "当前流行度为：51.721742\n",
      "当前覆盖率为：0.140244\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：111\n",
      "当前精确率为：0.098198\n",
      "当前召回率为：0.245891\n",
      "当前流行度为：51.644294\n",
      "当前覆盖率为：0.140244\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：112\n",
      "当前精确率为：0.098437\n",
      "当前召回率为：0.250073\n",
      "当前流行度为：51.637872\n",
      "当前覆盖率为：0.140244\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：113\n",
      "当前精确率为：0.097788\n",
      "当前召回率为：0.256710\n",
      "当前流行度为：51.795501\n",
      "当前覆盖率为：0.140244\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：114\n",
      "当前精确率为：0.097368\n",
      "当前召回率为：0.263230\n",
      "当前流行度为：51.747076\n",
      "当前覆盖率为：0.140396\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：115\n",
      "当前精确率为：0.096739\n",
      "当前召回率为：0.265289\n",
      "当前流行度为：52.047536\n",
      "当前覆盖率为：0.140396\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：116\n",
      "当前精确率为：0.096121\n",
      "当前召回率为：0.265875\n",
      "当前流行度为：51.774066\n",
      "当前覆盖率为：0.141616\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：117\n",
      "当前精确率为：0.095513\n",
      "当前召回率为：0.267876\n",
      "当前流行度为：51.810826\n",
      "当前覆盖率为：0.141616\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：118\n",
      "当前精确率为：0.095127\n",
      "当前召回率为：0.267490\n",
      "当前流行度为：52.069845\n",
      "当前覆盖率为：0.141616\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：119\n",
      "当前精确率为：0.094538\n",
      "当前召回率为：0.269443\n",
      "当前流行度为：52.025140\n",
      "当前覆盖率为：0.141921\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：120\n",
      "当前精确率为：0.093958\n",
      "当前召回率为：0.269976\n",
      "当前流行度为：51.825139\n",
      "当前覆盖率为：0.142988\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：121\n",
      "当前精确率为：0.093388\n",
      "当前召回率为：0.269398\n",
      "当前流行度为：51.716873\n",
      "当前覆盖率为：0.143293\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：122\n",
      "当前精确率为：0.094467\n",
      "当前召回率为：0.270397\n",
      "当前流行度为：51.798292\n",
      "当前覆盖率为：0.143293\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：123\n",
      "当前精确率为：0.093699\n",
      "当前召回率为：0.268198\n",
      "当前流行度为：51.494444\n",
      "当前覆盖率为：0.146799\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：124\n",
      "当前精确率为：0.096976\n",
      "当前召回率为：0.266796\n",
      "当前流行度为：51.572110\n",
      "当前覆盖率为：0.147104\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：125\n",
      "当前精确率为：0.096800\n",
      "当前召回率为：0.267329\n",
      "当前流行度为：51.753533\n",
      "当前覆盖率为：0.147104\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：126\n",
      "当前精确率为：0.097222\n",
      "当前召回率为：0.270498\n",
      "当前流行度为：51.733466\n",
      "当前覆盖率为：0.147561\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：127\n",
      "当前精确率为：0.098425\n",
      "当前召回率为：0.270908\n",
      "当前流行度为：51.879265\n",
      "当前覆盖率为：0.147561\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：128\n",
      "当前精确率为：0.099609\n",
      "当前召回率为：0.269975\n",
      "当前流行度为：51.966732\n",
      "当前覆盖率为：0.147561\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：129\n",
      "当前精确率为：0.098837\n",
      "当前召回率为：0.267882\n",
      "当前流行度为：51.623579\n",
      "当前覆盖率为：0.151372\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：130\n",
      "当前精确率为：0.098077\n",
      "当前召回率为：0.265822\n",
      "当前流行度为：51.312244\n",
      "当前覆盖率为：0.153659\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：131\n",
      "当前精确率为：0.098092\n",
      "当前召回率为：0.268155\n",
      "当前流行度为：51.314631\n",
      "当前覆盖率为：0.153659\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：132\n",
      "当前精确率为：0.098295\n",
      "当前召回率为：0.270332\n",
      "当前流行度为：51.285543\n",
      "当前覆盖率为：0.153659\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：133\n",
      "当前精确率为：0.097556\n",
      "当前召回率为：0.268299\n",
      "当前流行度为：51.286028\n",
      "当前覆盖率为：0.153659\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：134\n",
      "当前精确率为：0.097761\n",
      "当前召回率为：0.273760\n",
      "当前流行度为：51.265796\n",
      "当前覆盖率为：0.153659\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：135\n",
      "当前精确率为：0.097037\n",
      "当前召回率为：0.271732\n",
      "当前流行度为：51.082346\n",
      "当前覆盖率为：0.154421\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：136\n",
      "当前精确率为：0.097610\n",
      "当前召回率为：0.271021\n",
      "当前流行度为：51.193137\n",
      "当前覆盖率为：0.154421\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：137\n",
      "当前精确率为：0.097263\n",
      "当前召回率为：0.271476\n",
      "当前流行度为：51.270195\n",
      "当前覆盖率为：0.154421\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：138\n",
      "当前精确率为：0.096558\n",
      "当前召回率为：0.269508\n",
      "当前流行度为：51.121316\n",
      "当前覆盖率为：0.155640\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：139\n",
      "当前精确率为：0.096223\n",
      "当前召回率为：0.274764\n",
      "当前流行度为：51.266307\n",
      "当前覆盖率为：0.155640\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：140\n",
      "当前精确率为：0.096250\n",
      "当前召回率为：0.274100\n",
      "当前流行度为：51.170298\n",
      "当前覆盖率为：0.156402\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：141\n",
      "当前精确率为：0.096986\n",
      "当前召回率为：0.278460\n",
      "当前流行度为：51.167671\n",
      "当前覆盖率为：0.156402\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：142\n",
      "当前精确率为：0.097359\n",
      "当前召回率为：0.277779\n",
      "当前流行度为：51.305047\n",
      "当前覆盖率为：0.156402\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：143\n",
      "当前精确率为：0.096853\n",
      "当前召回率为：0.276536\n",
      "当前流行度为：51.367075\n",
      "当前覆盖率为：0.156555\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：144\n",
      "当前精确率为：0.097222\n",
      "当前召回率为：0.281560\n",
      "当前流行度为：51.395775\n",
      "当前覆盖率为：0.156555\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：145\n",
      "当前精确率为：0.096552\n",
      "当前召回率为：0.279619\n",
      "当前流行度为：51.528908\n",
      "当前覆盖率为：0.156555\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：146\n",
      "当前精确率为：0.096404\n",
      "当前召回率为：0.279758\n",
      "当前流行度为：51.703368\n",
      "当前覆盖率为：0.156555\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：147\n",
      "当前精确率为：0.096599\n",
      "当前召回率为：0.282714\n",
      "当前流行度为：51.570862\n",
      "当前覆盖率为：0.157012\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：148\n",
      "当前精确率为：0.097128\n",
      "当前召回率为：0.281318\n",
      "当前流行度为：51.627477\n",
      "当前覆盖率为：0.157012\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：149\n",
      "当前精确率为：0.096477\n",
      "当前召回率为：0.279430\n",
      "当前流行度为：51.340213\n",
      "当前覆盖率为：0.160823\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：150\n",
      "当前精确率为：0.095833\n",
      "当前召回率为：0.277567\n",
      "当前流行度为：51.374778\n",
      "当前覆盖率为：0.160823\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：151\n",
      "当前精确率为：0.095861\n",
      "当前召回率为：0.276583\n",
      "当前流行度为：51.365839\n",
      "当前覆盖率为：0.160976\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：152\n",
      "当前精确率为：0.096711\n",
      "当前召回率为：0.277132\n",
      "当前流行度为：51.349287\n",
      "当前覆盖率为：0.160976\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：153\n",
      "当前精确率为：0.096569\n",
      "当前召回率为：0.276829\n",
      "当前流行度为：51.339161\n",
      "当前覆盖率为：0.161128\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：154\n",
      "当前精确率为：0.096104\n",
      "当前召回率为：0.276655\n",
      "当前流行度为：51.551894\n",
      "当前覆盖率为：0.161128\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：155\n",
      "当前精确率为：0.095484\n",
      "当前召回率为：0.274870\n",
      "当前流行度为：51.747366\n",
      "当前覆盖率为：0.161128\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：156\n",
      "当前精确率为：0.095513\n",
      "当前召回率为：0.274616\n",
      "当前流行度为：51.871421\n",
      "当前覆盖率为：0.161128\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：157\n",
      "当前精确率为：0.094904\n",
      "当前召回率为：0.272867\n",
      "当前流行度为：51.861571\n",
      "当前覆盖率为：0.161890\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：158\n",
      "当前精确率为：0.094304\n",
      "当前召回率为：0.271140\n",
      "当前流行度为：51.721308\n",
      "当前覆盖率为：0.162500\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：159\n",
      "当前精确率为：0.094025\n",
      "当前召回率为：0.270693\n",
      "当前流行度为：51.719287\n",
      "当前覆盖率为：0.162652\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：160\n",
      "当前精确率为：0.097031\n",
      "当前召回率为：0.269822\n",
      "当前流行度为：51.711510\n",
      "当前覆盖率为：0.162805\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：161\n",
      "当前精确率为：0.097360\n",
      "当前召回率为：0.269527\n",
      "当前流行度为：51.798085\n",
      "当前覆盖率为：0.162805\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：162\n",
      "当前精确率为：0.096759\n",
      "当前召回率为：0.267863\n",
      "当前流行度为：51.904887\n",
      "当前覆盖率为：0.163415\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：163\n",
      "当前精确率为：0.097546\n",
      "当前召回率为：0.266736\n",
      "当前流行度为：51.754550\n",
      "当前覆盖率为：0.165549\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：164\n",
      "当前精确率为：0.097561\n",
      "当前召回率为：0.269174\n",
      "当前流行度为：51.899797\n",
      "当前覆盖率为：0.165549\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：165\n",
      "当前精确率为：0.097273\n",
      "当前召回率为：0.269058\n",
      "当前流行度为：51.908737\n",
      "当前覆盖率为：0.165701\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：166\n",
      "当前精确率为：0.098193\n",
      "当前召回率为：0.273461\n",
      "当前流行度为：51.902209\n",
      "当前覆盖率为：0.165701\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：167\n",
      "当前精确率为：0.098503\n",
      "当前召回率为：0.272745\n",
      "当前流行度为：52.000549\n",
      "当前覆盖率为：0.165701\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：168\n",
      "当前精确率为：0.098958\n",
      "当前召回率为：0.276330\n",
      "当前流行度为：51.992361\n",
      "当前覆盖率为：0.165701\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：169\n",
      "当前精确率为：0.098373\n",
      "当前召回率为：0.274695\n",
      "当前流行度为：51.702909\n",
      "当前覆盖率为：0.166768\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：170\n",
      "当前精确率为：0.099412\n",
      "当前召回率为：0.274782\n",
      "当前流行度为：51.795686\n",
      "当前覆盖率为：0.166768\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：171\n",
      "当前精确率为：0.098977\n",
      "当前召回率为：0.275124\n",
      "当前流行度为：51.622758\n",
      "当前覆盖率为：0.167988\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：172\n",
      "当前精确率为：0.100291\n",
      "当前召回率为：0.275067\n",
      "当前流行度为：51.688905\n",
      "当前覆盖率为：0.167988\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：173\n",
      "当前精确率为：0.099711\n",
      "当前召回率为：0.273477\n",
      "当前流行度为：51.832177\n",
      "当前覆盖率为：0.167988\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：174\n",
      "当前精确率为：0.099856\n",
      "当前召回率为：0.272932\n",
      "当前流行度为：51.824090\n",
      "当前覆盖率为：0.168293\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：175\n",
      "当前精确率为：0.099286\n",
      "当前召回率为：0.271372\n",
      "当前流行度为：51.780238\n",
      "当前覆盖率为：0.168445\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：176\n",
      "当前精确率为：0.098864\n",
      "当前召回率为：0.270642\n",
      "当前流行度为：51.860180\n",
      "当前覆盖率为：0.168445\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：177\n",
      "当前精确率为：0.098870\n",
      "当前召回率为：0.274763\n",
      "当前流行度为：51.760970\n",
      "当前覆盖率为：0.168750\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：178\n",
      "当前精确率为：0.098315\n",
      "当前召回率为：0.273219\n",
      "当前流行度为：51.723127\n",
      "当前覆盖率为：0.168750\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：179\n",
      "当前精确率为：0.098045\n",
      "当前召回率为：0.273289\n",
      "当前流行度为：51.680959\n",
      "当前覆盖率为：0.168902\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：180\n",
      "当前精确率为：0.097639\n",
      "当前召回率为：0.274548\n",
      "当前流行度为：51.747454\n",
      "当前覆盖率为：0.168902\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：181\n",
      "当前精确率为：0.097238\n",
      "当前召回率为：0.274413\n",
      "当前流行度为：51.520672\n",
      "当前覆盖率为：0.171494\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：182\n",
      "当前精确率为：0.097115\n",
      "当前召回率为：0.273420\n",
      "当前流行度为：51.627152\n",
      "当前覆盖率为：0.171494\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：183\n",
      "当前精确率为：0.097131\n",
      "当前召回率为：0.275569\n",
      "当前流行度为：51.755829\n",
      "当前覆盖率为：0.171494\n",
      "\n",
      "\n",
      "无法对用户198做出推荐，因为该用户的感兴趣电影数为0\n",
      "已经处理过的测试集用户数目为：184\n",
      "当前精确率为：0.096739\n",
      "当前召回率为：0.279506\n",
      "当前流行度为：51.602672\n",
      "当前覆盖率为：0.172561\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：185\n",
      "当前精确率为：0.096351\n",
      "当前召回率为：0.279076\n",
      "当前流行度为：51.525766\n",
      "当前覆盖率为：0.173018\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：186\n",
      "当前精确率为：0.095968\n",
      "当前召回率为：0.279368\n",
      "当前流行度为：51.681944\n",
      "当前覆盖率为：0.173018\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：187\n",
      "当前精确率为：0.095989\n",
      "当前召回率为：0.282152\n",
      "当前流行度为：51.687656\n",
      "当前覆盖率为：0.173018\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：188\n",
      "当前精确率为：0.095745\n",
      "当前召回率为：0.282424\n",
      "当前流行度为：51.727083\n",
      "当前覆盖率为：0.173171\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：189\n",
      "当前精确率为：0.095370\n",
      "当前召回率为：0.283575\n",
      "当前流行度为：51.742549\n",
      "当前覆盖率为：0.173171\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：190\n",
      "当前精确率为：0.094868\n",
      "当前召回率为：0.282083\n",
      "当前流行度为：51.478915\n",
      "当前覆盖率为：0.173780\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：191\n",
      "当前精确率为：0.095288\n",
      "当前召回率为：0.281870\n",
      "当前流行度为：51.533999\n",
      "当前覆盖率为：0.173780\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：192\n",
      "当前精确率为：0.095052\n",
      "当前召回率为：0.283006\n",
      "当前流行度为：51.676010\n",
      "当前覆盖率为：0.173780\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：193\n",
      "当前精确率为：0.094560\n",
      "当前召回率为：0.281540\n",
      "当前流行度为：51.829372\n",
      "当前覆盖率为：0.173933\n",
      "\n",
      "\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "已经处理过的测试集用户数目为：194\n",
      "当前精确率为：0.094072\n",
      "当前召回率为：0.280088\n",
      "当前流行度为：51.790303\n",
      "当前覆盖率为：0.173933\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：195\n",
      "当前精确率为：0.093590\n",
      "当前召回率为：0.278652\n",
      "当前流行度为：51.903815\n",
      "当前覆盖率为：0.173933\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：196\n",
      "当前精确率为：0.093240\n",
      "当前召回率为：0.279781\n",
      "当前流行度为：52.026372\n",
      "当前覆盖率为：0.173933\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：197\n",
      "当前精确率为：0.093147\n",
      "当前召回率为：0.279884\n",
      "当前流行度为：52.167862\n",
      "当前覆盖率为：0.173933\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：198\n",
      "当前精确率为：0.095328\n",
      "当前召回率为：0.278875\n",
      "当前流行度为：52.197191\n",
      "当前覆盖率为：0.174085\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：199\n",
      "当前精确率为：0.094849\n",
      "当前召回率为：0.277474\n",
      "当前流行度为：52.325346\n",
      "当前覆盖率为：0.174085\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：200\n",
      "当前精确率为：0.094375\n",
      "当前召回率为：0.276086\n",
      "当前流行度为：52.136969\n",
      "当前覆盖率为：0.175457\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：201\n",
      "当前精确率为：0.094030\n",
      "当前召回率为：0.275957\n",
      "当前流行度为：52.075716\n",
      "当前覆盖率为：0.175915\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：202\n",
      "当前精确率为：0.094059\n",
      "当前召回率为：0.275755\n",
      "当前流行度为：52.148732\n",
      "当前覆盖率为：0.176067\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：203\n",
      "当前精确率为：0.093719\n",
      "当前召回率为：0.274944\n",
      "当前流行度为：52.265980\n",
      "当前覆盖率为：0.176067\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：204\n",
      "当前精确率为：0.093260\n",
      "当前召回率为：0.273597\n",
      "当前流行度为：52.269823\n",
      "当前覆盖率为：0.176220\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：205\n",
      "当前精确率为：0.093293\n",
      "当前召回率为：0.272912\n",
      "当前流行度为：52.125824\n",
      "当前覆盖率为：0.178049\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：206\n",
      "当前精确率为：0.092961\n",
      "当前召回率为：0.273206\n",
      "当前流行度为：52.103975\n",
      "当前覆盖率为：0.178049\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：207\n",
      "当前精确率为：0.092874\n",
      "当前召回率为：0.273956\n",
      "当前流行度为：51.991758\n",
      "当前覆盖率为：0.178049\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：208\n",
      "当前精确率为：0.092909\n",
      "当前召回率为：0.274118\n",
      "当前流行度为：51.957783\n",
      "当前覆盖率为：0.178201\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：209\n",
      "当前精确率为：0.092584\n",
      "当前召回率为：0.273764\n",
      "当前流行度为：51.805473\n",
      "当前覆盖率为：0.178659\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：210\n",
      "当前精确率为：0.092143\n",
      "当前召回率为：0.272460\n",
      "当前流行度为：51.871875\n",
      "当前覆盖率为：0.178811\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：211\n",
      "当前精确率为：0.091706\n",
      "当前召回率为：0.271169\n",
      "当前流行度为：51.706843\n",
      "当前覆盖率为：0.180335\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：212\n",
      "当前精确率为：0.091274\n",
      "当前召回率为：0.269890\n",
      "当前流行度为：51.574634\n",
      "当前覆盖率为：0.180793\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：213\n",
      "当前精确率为：0.091080\n",
      "当前召回率为：0.270970\n",
      "当前流行度为：51.633673\n",
      "当前覆盖率为：0.180793\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：214\n",
      "当前精确率为：0.090654\n",
      "当前召回率为：0.269704\n",
      "当前流行度为：51.488773\n",
      "当前覆盖率为：0.184299\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：215\n",
      "当前精确率为：0.090349\n",
      "当前召回率为：0.269612\n",
      "当前流行度为：51.520221\n",
      "当前覆盖率为：0.184299\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：216\n",
      "当前精确率为：0.090046\n",
      "当前召回率为：0.270679\n",
      "当前流行度为：51.380659\n",
      "当前覆盖率为：0.184756\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：217\n",
      "当前精确率为：0.093203\n",
      "当前召回率为：0.269924\n",
      "当前流行度为：51.375218\n",
      "当前覆盖率为：0.184756\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：218\n",
      "当前精确率为：0.092775\n",
      "当前召回率为：0.268686\n",
      "当前流行度为：51.373841\n",
      "当前覆盖率为：0.184909\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：219\n",
      "当前精确率为：0.092922\n",
      "当前召回率为：0.269215\n",
      "当前流行度为：51.471449\n",
      "当前覆盖率为：0.184909\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：220\n",
      "当前精确率为：0.095000\n",
      "当前召回率为：0.268463\n",
      "当前流行度为：51.494534\n",
      "当前覆盖率为：0.184909\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：221\n",
      "当前精确率为：0.094910\n",
      "当前召回率为：0.268380\n",
      "当前流行度为：51.553382\n",
      "当前覆盖率为：0.184909\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：222\n",
      "当前精确率为：0.094932\n",
      "当前召回率为：0.267814\n",
      "当前流行度为：51.583434\n",
      "当前覆盖率为：0.184909\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：223\n",
      "当前精确率为：0.094507\n",
      "当前召回率为：0.266613\n",
      "当前流行度为：51.627118\n",
      "当前覆盖率为：0.184909\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：224\n",
      "当前精确率为：0.094643\n",
      "当前召回率为：0.267283\n",
      "当前流行度为：51.689274\n",
      "当前覆盖率为：0.184909\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：225\n",
      "当前精确率为：0.094444\n",
      "当前召回率为：0.270540\n",
      "当前流行度为：51.730655\n",
      "当前覆盖率为：0.184909\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：226\n",
      "当前精确率为：0.094137\n",
      "当前召回率为：0.269785\n",
      "当前流行度为：51.699546\n",
      "当前覆盖率为：0.184909\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：227\n",
      "当前精确率为：0.094493\n",
      "当前召回率为：0.269239\n",
      "当前流行度为：51.768381\n",
      "当前覆盖率为：0.184909\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：228\n",
      "当前精确率为：0.094189\n",
      "当前召回率为：0.268332\n",
      "当前流行度为：51.706019\n",
      "当前覆盖率为：0.184909\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：229\n",
      "当前精确率为：0.094214\n",
      "当前召回率为：0.267743\n",
      "当前流行度为：51.811342\n",
      "当前覆盖率为：0.184909\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：230\n",
      "当前精确率为：0.094891\n",
      "当前召回率为：0.269136\n",
      "当前流行度为：51.779010\n",
      "当前覆盖率为：0.185061\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：231\n",
      "当前精确率为：0.094697\n",
      "当前召回率为：0.269414\n",
      "当前流行度为：51.797824\n",
      "当前覆盖率为：0.185061\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：232\n",
      "当前精确率为：0.094935\n",
      "当前召回率为：0.269211\n",
      "当前流行度为：51.835980\n",
      "当前覆盖率为：0.185061\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：233\n",
      "当前精确率为：0.095923\n",
      "当前召回率为：0.268649\n",
      "当前流行度为：51.727993\n",
      "当前覆盖率为：0.185366\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：234\n",
      "当前精确率为：0.095833\n",
      "当前召回率为：0.268302\n",
      "当前流行度为：51.717938\n",
      "当前覆盖率为：0.185366\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：235\n",
      "当前精确率为：0.095426\n",
      "当前召回率为：0.267160\n",
      "当前流行度为：51.590308\n",
      "当前覆盖率为：0.186128\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：236\n",
      "当前精确率为：0.095551\n",
      "当前召回率为：0.266510\n",
      "当前流行度为：51.665561\n",
      "当前覆盖率为：0.186128\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：237\n",
      "当前精确率为：0.095781\n",
      "当前召回率为：0.269605\n",
      "当前流行度为：51.668133\n",
      "当前覆盖率为：0.186128\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：238\n",
      "当前精确率为：0.095378\n",
      "当前召回率为：0.268472\n",
      "当前流行度为：51.698098\n",
      "当前覆盖率为：0.186128\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：239\n",
      "当前精确率为：0.094979\n",
      "当前召回率为：0.267349\n",
      "当前流行度为：51.584822\n",
      "当前覆盖率为：0.187957\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：240\n",
      "当前精确率为：0.094687\n",
      "当前召回率为：0.267624\n",
      "当前流行度为：51.494052\n",
      "当前覆盖率为：0.188415\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：241\n",
      "当前精确率为：0.094502\n",
      "当前召回率为：0.270663\n",
      "当前流行度为：51.575923\n",
      "当前覆盖率为：0.188567\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：242\n",
      "当前精确率为：0.095041\n",
      "当前召回率为：0.271094\n",
      "当前流行度为：51.668791\n",
      "当前覆盖率为：0.188567\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：243\n",
      "当前精确率为：0.095473\n",
      "当前召回率为：0.271807\n",
      "当前流行度为：51.708528\n",
      "当前覆盖率为：0.188567\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：244\n",
      "当前精确率为：0.095082\n",
      "当前召回率为：0.270693\n",
      "当前流行度为：51.603063\n",
      "当前覆盖率为：0.188720\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：245\n",
      "当前精确率为：0.094694\n",
      "当前召回率为：0.269588\n",
      "当前流行度为：51.454683\n",
      "当前覆盖率为：0.190091\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：246\n",
      "当前精确率为：0.094411\n",
      "当前召回率为：0.269305\n",
      "当前流行度为：51.568282\n",
      "当前覆盖率为：0.190091\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：247\n",
      "当前精确率为：0.094130\n",
      "当前召回率为：0.272264\n",
      "当前流行度为：51.581670\n",
      "当前覆盖率为：0.190244\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：248\n",
      "当前精确率为：0.093851\n",
      "当前召回率为：0.275198\n",
      "当前流行度为：51.593639\n",
      "当前覆盖率为：0.190244\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：249\n",
      "当前精确率为：0.093574\n",
      "当前召回率为：0.274539\n",
      "当前流行度为：51.700391\n",
      "当前覆盖率为：0.190244\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：250\n",
      "当前精确率为：0.093300\n",
      "当前召回率为：0.274241\n",
      "当前流行度为：51.704890\n",
      "当前覆盖率为：0.190549\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：251\n",
      "当前精确率为：0.093924\n",
      "当前召回率为：0.273640\n",
      "当前流行度为：51.742420\n",
      "当前覆盖率为：0.190549\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：252\n",
      "当前精确率为：0.093552\n",
      "当前召回率为：0.272554\n",
      "当前流行度为：51.771220\n",
      "当前覆盖率为：0.190549\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：253\n",
      "当前精确率为：0.093182\n",
      "当前召回率为：0.271477\n",
      "当前流行度为：51.859575\n",
      "当前覆盖率为：0.190549\n",
      "\n",
      "\n",
      "无法对用户281做出推荐，因为该用户的感兴趣电影数为0\n",
      "已经处理过的测试集用户数目为：254\n",
      "当前精确率为：0.092913\n",
      "当前召回率为：0.272377\n",
      "当前流行度为：51.814950\n",
      "当前覆盖率为：0.191311\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：255\n",
      "当前精确率为：0.092549\n",
      "当前召回率为：0.271309\n",
      "当前流行度为：51.895284\n",
      "当前覆盖率为：0.191311\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：256\n",
      "当前精确率为：0.092383\n",
      "当前召回率为：0.271117\n",
      "当前流行度为：51.989931\n",
      "当前覆盖率为：0.191311\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：257\n",
      "当前精确率为：0.092510\n",
      "当前召回率为：0.270988\n",
      "当前流行度为：52.050574\n",
      "当前覆盖率为：0.191311\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：258\n",
      "当前精确率为：0.092151\n",
      "当前召回率为：0.269938\n",
      "当前流行度为：52.042916\n",
      "当前覆盖率为：0.191463\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：259\n",
      "当前精确率为：0.092181\n",
      "当前召回率为：0.269631\n",
      "当前流行度为：51.996901\n",
      "当前覆盖率为：0.191463\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：260\n",
      "当前精确率为：0.091923\n",
      "当前召回率为：0.268797\n",
      "当前流行度为：52.074509\n",
      "当前覆盖率为：0.191463\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：261\n",
      "当前精确率为：0.091571\n",
      "当前召回率为：0.267767\n",
      "当前流行度为：51.997212\n",
      "当前覆盖率为：0.192378\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：262\n",
      "当前精确率为：0.091221\n",
      "当前召回率为：0.266745\n",
      "当前流行度为：51.846555\n",
      "当前覆盖率为：0.194207\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：263\n",
      "当前精确率为：0.091160\n",
      "当前召回率为：0.267360\n",
      "当前流行度为：51.886017\n",
      "当前覆盖率为：0.194207\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：264\n",
      "当前精确率为：0.091193\n",
      "当前召回率为：0.268873\n",
      "当前流行度为：51.989574\n",
      "当前覆盖率为：0.194207\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：265\n",
      "当前精确率为：0.090849\n",
      "当前召回率为：0.267858\n",
      "当前流行度为：51.998009\n",
      "当前覆盖率为：0.194360\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：266\n",
      "当前精确率为：0.091635\n",
      "当前召回率为：0.268038\n",
      "当前流行度为：52.088994\n",
      "当前覆盖率为：0.194360\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：267\n",
      "当前精确率为：0.092041\n",
      "当前召回率为：0.267409\n",
      "当前流行度为：52.128923\n",
      "当前覆盖率为：0.194360\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：268\n",
      "当前精确率为：0.091698\n",
      "当前召回率为：0.266411\n",
      "当前流行度为：52.199431\n",
      "当前覆盖率为：0.194360\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：269\n",
      "当前精确率为：0.091357\n",
      "当前召回率为：0.265421\n",
      "当前流行度为：52.237444\n",
      "当前覆盖率为：0.194360\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：270\n",
      "当前精确率为：0.091204\n",
      "当前召回率为：0.265178\n",
      "当前流行度为：52.233324\n",
      "当前覆盖率为：0.194360\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：271\n",
      "当前精确率为：0.091513\n",
      "当前召回率为：0.265491\n",
      "当前流行度为：52.296024\n",
      "当前覆盖率为：0.194360\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：272\n",
      "当前精确率为：0.091544\n",
      "当前召回率为：0.265081\n",
      "当前流行度为：52.354862\n",
      "当前覆盖率为：0.194360\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：273\n",
      "当前精确率为：0.092674\n",
      "当前召回率为：0.265886\n",
      "当前流行度为：52.423434\n",
      "当前覆盖率为：0.194360\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：274\n",
      "当前精确率为：0.093157\n",
      "当前召回率为：0.266344\n",
      "当前流行度为：52.421250\n",
      "当前覆盖率为：0.194512\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：275\n",
      "当前精确率为：0.093091\n",
      "当前召回率为：0.269011\n",
      "当前流行度为：52.483718\n",
      "当前覆盖率为：0.194512\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：276\n",
      "当前精确率为：0.092844\n",
      "当前召回率为：0.268943\n",
      "当前流行度为：52.383143\n",
      "当前覆盖率为：0.195427\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：277\n",
      "当前精确率为：0.092509\n",
      "当前召回率为：0.267972\n",
      "当前流行度为：52.240424\n",
      "当前覆盖率为：0.197866\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：278\n",
      "当前精确率为：0.092176\n",
      "当前召回率为：0.267008\n",
      "当前流行度为：52.221304\n",
      "当前覆盖率为：0.197866\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：279\n",
      "当前精确率为：0.092025\n",
      "当前召回率为：0.266602\n",
      "当前流行度为：52.314686\n",
      "当前覆盖率为：0.197866\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：280\n",
      "当前精确率为：0.092054\n",
      "当前召回率为：0.269221\n",
      "当前流行度为：52.315259\n",
      "当前覆盖率为：0.197866\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：281\n",
      "当前精确率为：0.091726\n",
      "当前召回率为：0.268263\n",
      "当前流行度为：52.197678\n",
      "当前覆盖率为：0.198933\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：282\n",
      "当前精确率为：0.091667\n",
      "当前召回率为：0.268130\n",
      "当前流行度为：52.267544\n",
      "当前覆盖率为：0.198933\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：283\n",
      "当前精确率为：0.093551\n",
      "当前召回率为：0.268445\n",
      "当前流行度为：52.328524\n",
      "当前覆盖率为：0.198933\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：284\n",
      "当前精确率为：0.094190\n",
      "当前召回率为：0.268606\n",
      "当前流行度为：52.370766\n",
      "当前覆盖率为：0.198933\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：285\n",
      "当前精确率为：0.093860\n",
      "当前召回率为：0.267664\n",
      "当前流行度为：52.411394\n",
      "当前覆盖率为：0.198933\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：286\n",
      "当前精确率为：0.093794\n",
      "当前召回率为：0.267777\n",
      "当前流行度为：52.482508\n",
      "当前覆盖率为：0.198933\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：287\n",
      "当前精确率为：0.093554\n",
      "当前召回率为：0.268005\n",
      "当前流行度为：52.553214\n",
      "当前覆盖率为：0.198933\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：288\n",
      "当前精确率为：0.093924\n",
      "当前召回率为：0.267736\n",
      "当前流行度为：52.576901\n",
      "当前覆盖率为：0.198933\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：289\n",
      "当前精确率为：0.093599\n",
      "当前召回率为：0.266810\n",
      "当前流行度为：52.624126\n",
      "当前覆盖率为：0.199085\n",
      "\n",
      "\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "已经处理过的测试集用户数目为：290\n",
      "当前精确率为：0.093793\n",
      "当前召回率为：0.266360\n",
      "当前流行度为：52.547491\n",
      "当前覆盖率为：0.199848\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：291\n",
      "当前精确率为：0.093643\n",
      "当前召回率为：0.266132\n",
      "当前流行度为：52.627139\n",
      "当前覆盖率为：0.199848\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：292\n",
      "当前精确率为：0.093322\n",
      "当前召回率为：0.265220\n",
      "当前流行度为：52.473621\n",
      "当前覆盖率为：0.202591\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：293\n",
      "当前精确率为：0.093003\n",
      "当前召回率为：0.264315\n",
      "当前流行度为：52.369018\n",
      "当前覆盖率为：0.203049\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：294\n",
      "当前精确率为：0.092687\n",
      "当前召回率为：0.263416\n",
      "当前流行度为：52.403648\n",
      "当前覆盖率为：0.203049\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：295\n",
      "当前精确率为：0.092373\n",
      "当前召回率为：0.262523\n",
      "当前流行度为：52.230347\n",
      "当前覆盖率为：0.206707\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：296\n",
      "当前精确率为：0.092399\n",
      "当前召回率为：0.262348\n",
      "当前流行度为：52.247981\n",
      "当前覆盖率为：0.206707\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：297\n",
      "当前精确率为：0.092088\n",
      "当前召回率为：0.261464\n",
      "当前流行度为：52.200934\n",
      "当前覆盖率为：0.206707\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：298\n",
      "当前精确率为：0.092030\n",
      "当前召回率为：0.263104\n",
      "当前流行度为：52.267122\n",
      "当前覆盖率为：0.206707\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：299\n",
      "当前精确率为：0.091722\n",
      "当前召回率为：0.262224\n",
      "当前流行度为：52.138302\n",
      "当前覆盖率为：0.208841\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：300\n",
      "当前精确率为：0.092917\n",
      "当前召回率为：0.261862\n",
      "当前流行度为：52.180758\n",
      "当前覆盖率为：0.208841\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：301\n",
      "当前精确率为：0.092774\n",
      "当前召回率为：0.261731\n",
      "当前流行度为：52.264211\n",
      "当前覆盖率为：0.208841\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：302\n",
      "当前精确率为：0.093046\n",
      "当前召回率为：0.263761\n",
      "当前流行度为：52.268468\n",
      "当前覆盖率为：0.208841\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：303\n",
      "当前精确率为：0.093317\n",
      "当前召回率为：0.265779\n",
      "当前流行度为：52.273770\n",
      "当前覆盖率为：0.208841\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：304\n",
      "当前精确率为：0.093339\n",
      "当前召回率为：0.266549\n",
      "当前流行度为：52.263824\n",
      "当前覆盖率为：0.208841\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：305\n",
      "当前精确率为：0.093033\n",
      "当前召回率为：0.265675\n",
      "当前流行度为：52.160664\n",
      "当前覆盖率为：0.209756\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：306\n",
      "当前精确率为：0.092729\n",
      "当前召回率为：0.264807\n",
      "当前流行度为：52.143472\n",
      "当前覆盖率为：0.209756\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：307\n",
      "当前精确率为：0.093078\n",
      "当前召回率为：0.264202\n",
      "当前流行度为：52.174519\n",
      "当前覆盖率为：0.209909\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：308\n",
      "当前精确率为：0.093019\n",
      "当前召回率为：0.264156\n",
      "当前流行度为：52.202524\n",
      "当前覆盖率为：0.209909\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：309\n",
      "当前精确率为：0.093042\n",
      "当前召回率为：0.265459\n",
      "当前流行度为：52.214085\n",
      "当前覆盖率为：0.210061\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：310\n",
      "当前精确率为：0.092823\n",
      "当前召回率为：0.265678\n",
      "当前流行度为：52.232105\n",
      "当前覆盖率为：0.210061\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：311\n",
      "当前精确率为：0.093006\n",
      "当前召回率为：0.265331\n",
      "当前流行度为：52.301133\n",
      "当前覆盖率为：0.210061\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：312\n",
      "当前精确率为：0.092788\n",
      "当前召回率为：0.266083\n",
      "当前流行度为：52.411867\n",
      "当前覆盖率为：0.210061\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：313\n",
      "当前精确率为：0.092732\n",
      "当前召回率为：0.265576\n",
      "当前流行度为：52.455359\n",
      "当前覆盖率为：0.210061\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：314\n",
      "当前精确率为：0.092436\n",
      "当前召回率为：0.264730\n",
      "当前流行度为：52.345629\n",
      "当前覆盖率为：0.211128\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：315\n",
      "当前精确率为：0.092222\n",
      "当前召回率为：0.265477\n",
      "当前流行度为：52.370801\n",
      "当前覆盖率为：0.211128\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：316\n",
      "当前精确率为：0.091930\n",
      "当前召回率为：0.264637\n",
      "当前流行度为：52.234660\n",
      "当前覆盖率为：0.214024\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：317\n",
      "当前精确率为：0.091798\n",
      "当前召回率为：0.264287\n",
      "当前流行度为：52.277216\n",
      "当前覆盖率为：0.214024\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：318\n",
      "当前精确率为：0.091824\n",
      "当前召回率为：0.264424\n",
      "当前流行度为：52.324615\n",
      "当前覆盖率为：0.214024\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：319\n",
      "当前精确率为：0.091614\n",
      "当前召回率为：0.264640\n",
      "当前流行度为：52.260744\n",
      "当前覆盖率为：0.214177\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：320\n",
      "当前精确率为：0.091406\n",
      "当前召回率为：0.265375\n",
      "当前流行度为：52.241883\n",
      "当前覆盖率为：0.214329\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：321\n",
      "当前精确率为：0.092445\n",
      "当前召回率为：0.267196\n",
      "当前流行度为：52.225942\n",
      "当前覆盖率为：0.214634\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：322\n",
      "当前精确率为：0.092391\n",
      "当前召回率为：0.266988\n",
      "当前流行度为：52.283703\n",
      "当前覆盖率为：0.214634\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：323\n",
      "当前精确率为：0.092957\n",
      "当前召回率为：0.266816\n",
      "当前流行度为：52.328181\n",
      "当前覆盖率为：0.214634\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：324\n",
      "当前精确率为：0.093364\n",
      "当前召回率为：0.267021\n",
      "当前流行度为：52.376396\n",
      "当前覆盖率为：0.214634\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：325\n",
      "当前精确率为：0.093385\n",
      "当前召回率为：0.267319\n",
      "当前流行度为：52.400623\n",
      "当前覆盖率为：0.214634\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：326\n",
      "当前精确率为：0.093405\n",
      "当前召回率为：0.267726\n",
      "当前流行度为：52.456909\n",
      "当前覆盖率为：0.214634\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：327\n",
      "当前精确率为：0.094343\n",
      "当前召回率为：0.268019\n",
      "当前流行度为：52.469732\n",
      "当前覆盖率为：0.214634\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：328\n",
      "当前精确率为：0.094207\n",
      "当前召回率为：0.269234\n",
      "当前流行度为：52.558925\n",
      "当前覆盖率为：0.214634\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：329\n",
      "当前精确率为：0.094225\n",
      "当前召回率为：0.270442\n",
      "当前流行度为：52.484962\n",
      "当前覆盖率为：0.215854\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：330\n",
      "当前精确率为：0.094242\n",
      "当前召回率为：0.270261\n",
      "当前流行度为：52.536901\n",
      "当前覆盖率为：0.215854\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：331\n",
      "当前精确率为：0.094637\n",
      "当前召回率为：0.270490\n",
      "当前流行度为：52.553104\n",
      "当前覆盖率为：0.215854\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：332\n",
      "当前精确率为：0.094880\n",
      "当前召回率为：0.270916\n",
      "当前流行度为：52.598577\n",
      "当前覆盖率为：0.215854\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：333\n",
      "当前精确率为：0.094745\n",
      "当前召回率为：0.273105\n",
      "当前流行度为：52.612019\n",
      "当前覆盖率为：0.215854\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：334\n",
      "当前精确率为：0.094461\n",
      "当前召回率为：0.272287\n",
      "当前流行度为：52.523136\n",
      "当前覆盖率为：0.216463\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：335\n",
      "当前精确率为：0.094925\n",
      "当前召回率为：0.272110\n",
      "当前流行度为：52.569858\n",
      "当前覆盖率为：0.216463\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：336\n",
      "当前精确率为：0.094643\n",
      "当前召回率为：0.271300\n",
      "当前流行度为：52.471659\n",
      "当前覆盖率为：0.216921\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：337\n",
      "当前精确率为：0.095030\n",
      "当前召回率为：0.271180\n",
      "当前流行度为：52.508093\n",
      "当前覆盖率为：0.216921\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：338\n",
      "当前精确率为：0.094896\n",
      "当前召回率为：0.272350\n",
      "当前流行度为：52.545125\n",
      "当前覆盖率为：0.216921\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：339\n",
      "当前精确率为：0.094912\n",
      "当前召回率为：0.272202\n",
      "当前流行度为：52.543075\n",
      "当前覆盖率为：0.216921\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：340\n",
      "当前精确率为：0.095000\n",
      "当前召回率为：0.271821\n",
      "当前流行度为：52.532287\n",
      "当前覆盖率为：0.216921\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：341\n",
      "当前精确率为：0.095601\n",
      "当前召回率为：0.271676\n",
      "当前流行度为：52.574787\n",
      "当前覆盖率为：0.216921\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：342\n",
      "当前精确率为：0.095687\n",
      "当前召回率为：0.271288\n",
      "当前流行度为：52.559291\n",
      "当前覆盖率为：0.217226\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：343\n",
      "当前精确率为：0.095554\n",
      "当前召回率为：0.271330\n",
      "当前流行度为：52.609409\n",
      "当前覆盖率为：0.217226\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：344\n",
      "当前精确率为：0.095276\n",
      "当前召回率为：0.270541\n",
      "当前流行度为：52.553277\n",
      "当前覆盖率为：0.217226\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：345\n",
      "当前精确率为：0.095362\n",
      "当前召回率为：0.270094\n",
      "当前流行度为：52.573558\n",
      "当前覆盖率为：0.217226\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：346\n",
      "当前精确率为：0.095087\n",
      "当前召回率为：0.269313\n",
      "当前流行度为：52.584400\n",
      "当前覆盖率为：0.217226\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：347\n",
      "当前精确率为：0.095461\n",
      "当前召回率为：0.269101\n",
      "当前流行度为：52.615713\n",
      "当前覆盖率为：0.217226\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：348\n",
      "当前精确率为：0.095187\n",
      "当前召回率为：0.268328\n",
      "当前流行度为：52.571846\n",
      "当前覆盖率为：0.217226\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：349\n",
      "当前精确率为：0.095415\n",
      "当前召回率为：0.268302\n",
      "当前流行度为：52.617700\n",
      "当前覆盖率为：0.217226\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：350\n",
      "当前精确率为：0.095143\n",
      "当前召回率为：0.267535\n",
      "当前流行度为：52.512507\n",
      "当前覆盖率为：0.218902\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：351\n",
      "当前精确率为：0.095014\n",
      "当前召回率为：0.267089\n",
      "当前流行度为：52.511403\n",
      "当前覆盖率为：0.218902\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：352\n",
      "当前精确率为：0.094744\n",
      "当前召回率为：0.266331\n",
      "当前流行度为：52.423870\n",
      "当前覆盖率为：0.219970\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：353\n",
      "当前精确率为：0.095184\n",
      "当前召回率为：0.266709\n",
      "当前流行度为：52.443633\n",
      "当前覆盖率为：0.219970\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：354\n",
      "当前精确率为：0.094915\n",
      "当前召回率为：0.265956\n",
      "当前流行度为：52.441391\n",
      "当前覆盖率为：0.219970\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：355\n",
      "当前精确率为：0.094648\n",
      "当前召回率为：0.265207\n",
      "当前流行度为：52.411979\n",
      "当前覆盖率为：0.220579\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：356\n",
      "当前精确率为：0.094522\n",
      "当前召回率为：0.267271\n",
      "当前流行度为：52.409628\n",
      "当前覆盖率为：0.220579\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：357\n",
      "当前精确率为：0.094328\n",
      "当前召回率为：0.269323\n",
      "当前流行度为：52.414503\n",
      "当前覆盖率为：0.220579\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：358\n",
      "当前精确率为：0.094134\n",
      "当前召回率为：0.269269\n",
      "当前流行度为：52.398610\n",
      "当前覆盖率为：0.220579\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：359\n",
      "当前精确率为：0.093942\n",
      "当前召回率为：0.268626\n",
      "当前流行度为：52.381413\n",
      "当前覆盖率为：0.220579\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：360\n",
      "当前精确率为：0.094097\n",
      "当前召回率为：0.268307\n",
      "当前流行度为：52.416048\n",
      "当前覆盖率为：0.220579\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：361\n",
      "当前精确率为：0.093837\n",
      "当前召回率为：0.267564\n",
      "当前流行度为：52.315034\n",
      "当前覆盖率为：0.221494\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：362\n",
      "当前精确率为：0.094613\n",
      "当前召回率为：0.267527\n",
      "当前流行度为：52.336333\n",
      "当前覆盖率为：0.221494\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：363\n",
      "当前精确率为：0.094421\n",
      "当前召回率为：0.267097\n",
      "当前流行度为：52.328932\n",
      "当前覆盖率为：0.221494\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：364\n",
      "当前精确率为：0.094162\n",
      "当前召回率为：0.266363\n",
      "当前流行度为：52.385171\n",
      "当前覆盖率为：0.221494\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：365\n",
      "当前精确率为：0.094110\n",
      "当前召回率为：0.267688\n",
      "当前流行度为：52.415623\n",
      "当前覆盖率为：0.221494\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：366\n",
      "当前精确率为：0.094331\n",
      "当前召回率为：0.267554\n",
      "当前流行度为：52.469815\n",
      "当前覆盖率为：0.221494\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：367\n",
      "当前精确率为：0.095163\n",
      "当前召回率为：0.267753\n",
      "当前流行度为：52.485701\n",
      "当前覆盖率为：0.221646\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：368\n",
      "当前精确率为：0.095041\n",
      "当前召回率为：0.268112\n",
      "当前流行度为：52.545115\n",
      "当前覆盖率为：0.221646\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：369\n",
      "当前精确率为：0.094986\n",
      "当前召回率为：0.270095\n",
      "当前流行度为：52.558408\n",
      "当前覆盖率为：0.221646\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：370\n",
      "当前精确率为：0.094865\n",
      "当前召回率为：0.269857\n",
      "当前流行度为：52.596898\n",
      "当前覆盖率为：0.221646\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：371\n",
      "当前精确率为：0.094677\n",
      "当前召回率为：0.271825\n",
      "当前流行度为：52.679387\n",
      "当前覆盖率为：0.221646\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：372\n",
      "当前精确率为：0.094422\n",
      "当前召回率为：0.271094\n",
      "当前流行度为：52.612036\n",
      "当前覆盖率为：0.222104\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：373\n",
      "当前精确率为：0.094303\n",
      "当前召回率为：0.270963\n",
      "当前流行度为：52.633049\n",
      "当前覆盖率为：0.222104\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：374\n",
      "当前精确率为：0.094519\n",
      "当前召回率为：0.270863\n",
      "当前流行度为：52.647466\n",
      "当前覆盖率为：0.222104\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：375\n",
      "当前精确率为：0.095000\n",
      "当前召回率为：0.271770\n",
      "当前流行度为：52.715940\n",
      "当前覆盖率为：0.222104\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：376\n",
      "当前精确率为：0.094747\n",
      "当前召回率为：0.271047\n",
      "当前流行度为：52.642094\n",
      "当前覆盖率为：0.222409\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：377\n",
      "当前精确率为：0.095093\n",
      "当前召回率为：0.271413\n",
      "当前流行度为：52.631041\n",
      "当前覆盖率为：0.222409\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：378\n",
      "当前精确率为：0.095106\n",
      "当前召回率为：0.271753\n",
      "当前流行度为：52.693459\n",
      "当前覆盖率为：0.222409\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：379\n",
      "当前精确率为：0.095449\n",
      "当前召回率为：0.271855\n",
      "当前流行度为：52.732988\n",
      "当前覆盖率为：0.222409\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：380\n",
      "当前精确率为：0.095197\n",
      "当前召回率为：0.271140\n",
      "当前流行度为：52.613822\n",
      "当前覆盖率为：0.227134\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：381\n",
      "当前精确率为：0.095866\n",
      "当前召回率为：0.271245\n",
      "当前流行度为：52.599416\n",
      "当前覆盖率为：0.227287\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：382\n",
      "当前精确率为：0.095615\n",
      "当前召回率为：0.270535\n",
      "当前流行度为：52.500792\n",
      "当前覆盖率为：0.229726\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：383\n",
      "当前精确率为：0.095561\n",
      "当前召回率为：0.270220\n",
      "当前流行度为：52.470633\n",
      "当前覆盖率为：0.229726\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：384\n",
      "当前精确率为：0.096159\n",
      "当前召回率为：0.269993\n",
      "当前流行度为：52.495058\n",
      "当前覆盖率为：0.229726\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：385\n",
      "当前精确率为：0.095909\n",
      "当前召回率为：0.269292\n",
      "当前流行度为：52.462993\n",
      "当前覆盖率为：0.230183\n",
      "\n",
      "\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "已经处理过的测试集用户数目为：386\n",
      "当前精确率为：0.095984\n",
      "当前召回率为：0.269772\n",
      "当前流行度为：52.420084\n",
      "当前覆盖率为：0.230183\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：387\n",
      "当前精确率为：0.095736\n",
      "当前召回率为：0.269075\n",
      "当前流行度为：52.344709\n",
      "当前覆盖率为：0.230640\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：388\n",
      "当前精确率为：0.096070\n",
      "当前召回率为：0.270038\n",
      "当前流行度为：52.340212\n",
      "当前覆盖率为：0.230640\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：389\n",
      "当前精确率为：0.095951\n",
      "当前召回率为：0.270629\n",
      "当前流行度为：52.416844\n",
      "当前覆盖率为：0.230640\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：390\n",
      "当前精确率为：0.095769\n",
      "当前召回率为：0.270302\n",
      "当前流行度为：52.332250\n",
      "当前覆盖率为：0.231402\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：391\n",
      "当前精确率为：0.095908\n",
      "当前召回率为：0.270513\n",
      "当前流行度为：52.370083\n",
      "当前覆盖率为：0.231402\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：392\n",
      "当前精确率为：0.095727\n",
      "当前召回率为：0.272374\n",
      "当前流行度为：52.287442\n",
      "当前覆盖率为：0.232165\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：393\n",
      "当前精确率为：0.095738\n",
      "当前召回率为：0.272953\n",
      "当前流行度为：52.320299\n",
      "当前覆盖率为：0.232165\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：394\n",
      "当前精确率为：0.095495\n",
      "当前召回率为：0.272260\n",
      "当前流行度为：52.271834\n",
      "当前覆盖率为：0.232470\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：395\n",
      "当前精确率为：0.095316\n",
      "当前召回率为：0.272204\n",
      "当前流行度为：52.265639\n",
      "当前覆盖率为：0.232470\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：396\n",
      "当前精确率为：0.095076\n",
      "当前召回率为：0.271517\n",
      "当前流行度为：52.157519\n",
      "当前覆盖率为：0.234756\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：397\n",
      "当前精确率为：0.095151\n",
      "当前召回率为：0.271119\n",
      "当前流行度为：52.127714\n",
      "当前覆盖率为：0.234756\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：398\n",
      "当前精确率为：0.095289\n",
      "当前召回率为：0.271231\n",
      "当前流行度为：52.149880\n",
      "当前覆盖率为：0.234756\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：399\n",
      "当前精确率为：0.095175\n",
      "当前召回率为：0.271554\n",
      "当前流行度为：52.100695\n",
      "当前覆盖率为：0.235213\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：400\n",
      "当前精确率为：0.094937\n",
      "当前召回率为：0.270875\n",
      "当前流行度为：52.001569\n",
      "当前覆盖率为：0.236738\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：401\n",
      "当前精确率为：0.094888\n",
      "当前召回率为：0.270511\n",
      "当前流行度为：52.054432\n",
      "当前覆盖率为：0.236738\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：402\n",
      "当前精确率为：0.094652\n",
      "当前召回率为：0.269838\n",
      "当前流行度为：52.082842\n",
      "当前覆盖率为：0.236738\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：403\n",
      "当前精确率为：0.094789\n",
      "当前召回率为：0.269338\n",
      "当前流行度为：51.992128\n",
      "当前覆盖率为：0.238872\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：404\n",
      "当前精确率为：0.095111\n",
      "当前召回率为：0.269308\n",
      "当前流行度为：52.017271\n",
      "当前覆盖率为：0.238872\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：405\n",
      "当前精确率为：0.094877\n",
      "当前召回率为：0.268643\n",
      "当前流行度为：52.051055\n",
      "当前覆盖率为：0.238872\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：406\n",
      "当前精确率为：0.094766\n",
      "当前召回率为：0.268966\n",
      "当前流行度为：52.065154\n",
      "当前覆盖率为：0.238872\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：407\n",
      "当前精确率为：0.094717\n",
      "当前召回率为：0.269534\n",
      "当前流行度为：52.070952\n",
      "当前覆盖率为：0.238872\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：408\n",
      "当前精确率为：0.094485\n",
      "当前召回率为：0.268873\n",
      "当前流行度为：52.064896\n",
      "当前覆盖率为：0.238872\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：409\n",
      "当前精确率为：0.094499\n",
      "当前召回率为：0.268868\n",
      "当前流行度为：52.085458\n",
      "当前覆盖率为：0.238872\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：410\n",
      "当前精确率为：0.094268\n",
      "当前召回率为：0.268212\n",
      "当前流行度为：52.079762\n",
      "当前覆盖率为：0.238872\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：411\n",
      "当前精确率为：0.094039\n",
      "当前召回率为：0.267560\n",
      "当前流行度为：52.093072\n",
      "当前覆盖率为：0.238872\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：412\n",
      "当前精确率为：0.094114\n",
      "当前召回率为：0.267127\n",
      "当前流行度为：52.119484\n",
      "当前覆盖率为：0.238872\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：413\n",
      "当前精确率为：0.094068\n",
      "当前召回率为：0.267140\n",
      "当前流行度为：52.164897\n",
      "当前覆盖率为：0.238872\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：414\n",
      "当前精确率为：0.094022\n",
      "当前召回率为：0.268307\n",
      "当前流行度为：52.108400\n",
      "当前覆盖率为：0.238872\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：415\n",
      "当前精确率为：0.093795\n",
      "当前召回率为：0.267660\n",
      "当前流行度为：52.161934\n",
      "当前覆盖率为：0.238872\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：416\n",
      "当前精确率为：0.093570\n",
      "当前召回率为：0.267017\n",
      "当前流行度为：52.204813\n",
      "当前覆盖率为：0.238872\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：417\n",
      "当前精确率为：0.093825\n",
      "当前召回率为：0.267176\n",
      "当前流行度为：52.237895\n",
      "当前覆盖率为：0.238872\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：418\n",
      "当前精确率为：0.094378\n",
      "当前召回率为：0.267015\n",
      "当前流行度为：52.271298\n",
      "当前覆盖率为：0.238872\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：419\n",
      "当前精确率为：0.094451\n",
      "当前召回率为：0.267463\n",
      "当前流行度为：52.308478\n",
      "当前覆盖率为：0.238872\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：420\n",
      "当前精确率为：0.094226\n",
      "当前召回率为：0.266826\n",
      "当前流行度为：52.378815\n",
      "当前覆盖率为：0.238872\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：421\n",
      "当前精确率为：0.094062\n",
      "当前召回率为：0.266786\n",
      "当前流行度为：52.293117\n",
      "当前覆盖率为：0.239329\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：422\n",
      "当前精确率为：0.093839\n",
      "当前召回率为：0.266154\n",
      "当前流行度为：52.301664\n",
      "当前覆盖率为：0.239329\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：423\n",
      "当前精确率为：0.093735\n",
      "当前召回率为：0.266470\n",
      "当前流行度为：52.365313\n",
      "当前覆盖率为：0.239329\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：424\n",
      "当前精确率为：0.094222\n",
      "当前召回率为：0.266338\n",
      "当前流行度为：52.388803\n",
      "当前覆盖率为：0.239329\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：425\n",
      "当前精确率为：0.094000\n",
      "当前召回率为：0.265712\n",
      "当前流行度为：52.463947\n",
      "当前覆盖率为：0.239329\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：426\n",
      "当前精确率为：0.094542\n",
      "当前召回率为：0.265484\n",
      "当前流行度为：52.500651\n",
      "当前覆盖率为：0.239329\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：427\n",
      "当前精确率为：0.094379\n",
      "当前召回率为：0.267204\n",
      "当前流行度为：52.563882\n",
      "当前覆盖率为：0.239329\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：428\n",
      "当前精确率为：0.094276\n",
      "当前召回率为：0.267047\n",
      "当前流行度为：52.614608\n",
      "当前覆盖率为：0.239329\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：429\n",
      "当前精确率为：0.094056\n",
      "当前召回率为：0.266425\n",
      "当前流行度为：52.663817\n",
      "当前覆盖率为：0.239329\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：430\n",
      "当前精确率为：0.094186\n",
      "当前召回率为：0.266540\n",
      "当前流行度为：52.691808\n",
      "当前覆盖率为：0.239329\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：431\n",
      "当前精确率为：0.093968\n",
      "当前召回率为：0.265921\n",
      "当前流行度为：52.631444\n",
      "当前覆盖率为：0.239329\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：432\n",
      "当前精确率为：0.094213\n",
      "当前召回率为：0.267157\n",
      "当前流行度为：52.622286\n",
      "当前覆盖率为：0.239329\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：433\n",
      "当前精确率为：0.094111\n",
      "当前召回率为：0.267200\n",
      "当前流行度为：52.633782\n",
      "当前覆盖率为：0.239329\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：434\n",
      "当前精确率为：0.094067\n",
      "当前召回率为：0.267276\n",
      "当前流行度为：52.669591\n",
      "当前覆盖率为：0.239329\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：435\n",
      "当前精确率为：0.093851\n",
      "当前召回率为：0.266661\n",
      "当前流行度为：52.634833\n",
      "当前覆盖率为：0.239329\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：436\n",
      "当前精确率为：0.094037\n",
      "当前召回率为：0.267120\n",
      "当前流行度为：52.681141\n",
      "当前覆盖率为：0.239329\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：437\n",
      "当前精确率为：0.093879\n",
      "当前召回率为：0.266685\n",
      "当前流行度为：52.639136\n",
      "当前覆盖率为：0.239329\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：438\n",
      "当前精确率为：0.094463\n",
      "当前召回率为：0.266668\n",
      "当前流行度为：52.666330\n",
      "当前覆盖率为：0.239329\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：439\n",
      "当前精确率为：0.094248\n",
      "当前召回率为：0.266061\n",
      "当前流行度为：52.636794\n",
      "当前覆盖率为：0.239634\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：440\n",
      "当前精确率为：0.094318\n",
      "当前召回率为：0.265972\n",
      "当前流行度为：52.641824\n",
      "当前覆盖率为：0.239634\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：441\n",
      "当前精确率为：0.094104\n",
      "当前召回率为：0.265369\n",
      "当前流行度为：52.661910\n",
      "当前覆盖率为：0.239634\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：442\n",
      "当前精确率为：0.093948\n",
      "当前召回率为：0.265900\n",
      "当前流行度为：52.667030\n",
      "当前覆盖率为：0.239634\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：443\n",
      "当前精确率为：0.094470\n",
      "当前召回率为：0.265542\n",
      "当前流行度为：52.682342\n",
      "当前覆盖率为：0.239634\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：444\n",
      "当前精确率为：0.094257\n",
      "当前召回率为：0.264944\n",
      "当前流行度为：52.715828\n",
      "当前覆盖率为：0.239634\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：445\n",
      "当前精确率为：0.094157\n",
      "当前召回率为：0.265473\n",
      "当前流行度为：52.716185\n",
      "当前覆盖率为：0.239634\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：446\n",
      "当前精确率为：0.093946\n",
      "当前召回率为：0.264877\n",
      "当前流行度为：52.773492\n",
      "当前覆盖率为：0.239634\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：447\n",
      "当前精确率为：0.094072\n",
      "当前召回率为：0.264748\n",
      "当前流行度为：52.813372\n",
      "当前覆盖率为：0.239634\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：448\n",
      "当前精确率为：0.093862\n",
      "当前召回率为：0.264157\n",
      "当前流行度为：52.803688\n",
      "当前覆盖率为：0.239939\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：449\n",
      "当前精确率为：0.094321\n",
      "当前召回率为：0.263934\n",
      "当前流行度为：52.793602\n",
      "当前覆盖率为：0.239939\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：450\n",
      "当前精确率为：0.094278\n",
      "当前召回率为：0.264300\n",
      "当前流行度为：52.847116\n",
      "当前覆盖率为：0.239939\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：451\n",
      "当前精确率为：0.094069\n",
      "当前召回率为：0.263714\n",
      "当前流行度为：52.785593\n",
      "当前覆盖率为：0.242073\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：452\n",
      "当前精确率为：0.093971\n",
      "当前召回率为：0.264016\n",
      "当前流行度为：52.840824\n",
      "当前覆盖率为：0.242073\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：453\n",
      "当前精确率为：0.093764\n",
      "当前召回率为：0.263433\n",
      "当前流行度为：52.748626\n",
      "当前覆盖率为：0.243445\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：454\n",
      "当前精确率为：0.094218\n",
      "当前召回率为：0.263266\n",
      "当前流行度为：52.772417\n",
      "当前覆盖率为：0.243445\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：455\n",
      "当前精确率为：0.094011\n",
      "当前召回率为：0.262687\n",
      "当前流行度为：52.696709\n",
      "当前覆盖率为：0.244665\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：456\n",
      "当前精确率为：0.094079\n",
      "当前召回率为：0.264304\n",
      "当前流行度为：52.710257\n",
      "当前覆盖率为：0.244665\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：457\n",
      "当前精确率为：0.094256\n",
      "当前召回率为：0.264026\n",
      "当前流行度为：52.751482\n",
      "当前覆盖率为：0.244665\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：458\n",
      "当前精确率为：0.094050\n",
      "当前召回率为：0.263450\n",
      "当前流行度为：52.745584\n",
      "当前覆盖率为：0.244817\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：459\n",
      "当前精确率为：0.094063\n",
      "当前召回率为：0.263360\n",
      "当前流行度为：52.785735\n",
      "当前覆盖率为：0.244817\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：460\n",
      "当前精确率为：0.093913\n",
      "当前召回率为：0.263874\n",
      "当前流行度为：52.786527\n",
      "当前覆盖率为：0.244817\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：461\n",
      "当前精确率为：0.093709\n",
      "当前召回率为：0.263302\n",
      "当前流行度为：52.777283\n",
      "当前覆盖率为：0.244817\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：462\n",
      "当前精确率为：0.093615\n",
      "当前召回率为：0.263598\n",
      "当前流行度为：52.769269\n",
      "当前覆盖率为：0.244817\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：463\n",
      "当前精确率为：0.093413\n",
      "当前召回率为：0.263028\n",
      "当前流行度为：52.829325\n",
      "当前覆盖率为：0.244817\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：464\n",
      "当前精确率为：0.093265\n",
      "当前召回率为：0.262769\n",
      "当前流行度为：52.887182\n",
      "当前覆盖率为：0.244817\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：465\n",
      "当前精确率为：0.093495\n",
      "当前召回率为：0.262819\n",
      "当前流行度为：52.905166\n",
      "当前覆盖率为：0.244817\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：466\n",
      "当前精确率为：0.093670\n",
      "当前召回率为：0.264401\n",
      "当前流行度为：52.907838\n",
      "当前覆盖率为：0.244817\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：467\n",
      "当前精确率为：0.093630\n",
      "当前召回率为：0.264905\n",
      "当前流行度为：52.939673\n",
      "当前覆盖率为：0.244817\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：468\n",
      "当前精确率为：0.093429\n",
      "当前召回率为：0.264339\n",
      "当前流行度为：52.930935\n",
      "当前覆盖率为：0.245274\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：469\n",
      "当前精确率为：0.093284\n",
      "当前召回率为：0.264486\n",
      "当前流行度为：52.832468\n",
      "当前覆盖率为：0.249695\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：470\n",
      "当前精确率为：0.093191\n",
      "当前召回率为：0.264531\n",
      "当前流行度为：52.830803\n",
      "当前覆盖率为：0.249695\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：471\n",
      "当前精确率为：0.092994\n",
      "当前召回率为：0.263970\n",
      "当前流行度为：52.824209\n",
      "当前覆盖率为：0.249848\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：472\n",
      "当前精确率为：0.093273\n",
      "当前召回率为：0.263912\n",
      "当前流行度为：52.825641\n",
      "当前覆盖率为：0.249848\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：473\n",
      "当前精确率为：0.093182\n",
      "当前召回率为：0.264764\n",
      "当前流行度为：52.820248\n",
      "当前覆盖率为：0.249848\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：474\n",
      "当前精确率为：0.093038\n",
      "当前召回率为：0.266315\n",
      "当前流行度为：52.885343\n",
      "当前覆盖率为：0.249848\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：475\n",
      "当前精确率为：0.093526\n",
      "当前召回率为：0.266036\n",
      "当前流行度为：52.899689\n",
      "当前覆盖率为：0.249848\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：476\n",
      "当前精确率为：0.093435\n",
      "当前召回率为：0.266003\n",
      "当前流行度为：52.944018\n",
      "当前覆盖率为：0.249848\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：477\n",
      "当前精确率为：0.093239\n",
      "当前召回率为：0.265445\n",
      "当前流行度为：52.956452\n",
      "当前覆盖率为：0.249848\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：478\n",
      "当前精确率为：0.093201\n",
      "当前召回率为：0.265786\n",
      "当前流行度为：52.995089\n",
      "当前覆盖率为：0.249848\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：479\n",
      "当前精确率为：0.093006\n",
      "当前召回率为：0.265231\n",
      "当前流行度为：53.063940\n",
      "当前覆盖率为：0.249848\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：480\n",
      "当前精确率为：0.092865\n",
      "当前召回率为：0.265373\n",
      "当前流行度为：53.099120\n",
      "当前覆盖率为：0.249848\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：481\n",
      "当前精确率为：0.092879\n",
      "当前召回率为：0.265578\n",
      "当前流行度为：53.121315\n",
      "当前覆盖率为：0.249848\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：482\n",
      "当前精确率为：0.092687\n",
      "当前召回率为：0.265027\n",
      "当前流行度为：53.170441\n",
      "当前覆盖率为：0.249848\n",
      "\n",
      "\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "已经处理过的测试集用户数目为：483\n",
      "当前精确率为：0.092598\n",
      "当前召回率为：0.264892\n",
      "当前流行度为：53.221434\n",
      "当前覆盖率为：0.249848\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：484\n",
      "当前精确率为：0.092614\n",
      "当前召回率为：0.265722\n",
      "当前流行度为：53.246648\n",
      "当前覆盖率为：0.249848\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：485\n",
      "当前精确率为：0.092938\n",
      "当前召回率为：0.266205\n",
      "当前流行度为：53.233562\n",
      "当前覆盖率为：0.249848\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：486\n",
      "当前精确率为：0.093261\n",
      "当前召回率为：0.266943\n",
      "当前流行度为：53.219861\n",
      "当前覆盖率为：0.249848\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：487\n",
      "当前精确率为：0.093994\n",
      "当前召回率为：0.266587\n",
      "当前流行度为：53.232243\n",
      "当前覆盖率为：0.249848\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：488\n",
      "当前精确率为：0.093904\n",
      "当前召回率为：0.268090\n",
      "当前流行度为：53.223724\n",
      "当前覆盖率为：0.249848\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：489\n",
      "当前精确率为：0.093712\n",
      "当前召回率为：0.267541\n",
      "当前流行度为：53.157674\n",
      "当前覆盖率为：0.249848\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：490\n",
      "当前精确率为：0.093622\n",
      "当前召回率为：0.269036\n",
      "当前流行度为：53.173831\n",
      "当前覆盖率为：0.249848\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：491\n",
      "当前精确率为：0.093432\n",
      "当前召回率为：0.268488\n",
      "当前流行度为：53.087123\n",
      "当前覆盖率为：0.251982\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：492\n",
      "当前精确率为：0.093293\n",
      "当前召回率为：0.269975\n",
      "当前流行度为：53.072464\n",
      "当前覆盖率为：0.251982\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：493\n",
      "当前精确率为：0.093458\n",
      "当前召回率为：0.271456\n",
      "当前流行度为：53.066790\n",
      "当前覆盖率为：0.251982\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：494\n",
      "当前精确率为：0.094231\n",
      "当前召回率为：0.272931\n",
      "当前流行度为：53.052434\n",
      "当前覆盖率为：0.251982\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：495\n",
      "当前精确率为：0.094091\n",
      "当前召回率为：0.272716\n",
      "当前流行度为：52.981874\n",
      "当前覆盖率为：0.252134\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：496\n",
      "当前精确率为：0.095262\n",
      "当前召回率为：0.272552\n",
      "当前流行度为：52.969864\n",
      "当前覆盖率为：0.252134\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：497\n",
      "当前精确率为：0.095070\n",
      "当前召回率为：0.272004\n",
      "当前流行度为：52.919773\n",
      "当前覆盖率为：0.252134\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：498\n",
      "当前精确率为：0.094880\n",
      "当前召回率为：0.271458\n",
      "当前流行度为：52.892977\n",
      "当前覆盖率为：0.252134\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：499\n",
      "当前精确率为：0.095391\n",
      "当前召回率为：0.271524\n",
      "当前流行度为：52.914133\n",
      "当前覆盖率为：0.252134\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：500\n",
      "当前精确率为：0.095200\n",
      "当前召回率为：0.270980\n",
      "当前流行度为：52.854505\n",
      "当前覆盖率为：0.252134\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：501\n",
      "当前精确率为：0.095010\n",
      "当前召回率为：0.270440\n",
      "当前流行度为：52.789276\n",
      "当前覆盖率为：0.252591\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：502\n",
      "当前精确率为：0.094920\n",
      "当前召回率为：0.270299\n",
      "当前流行度为：52.826001\n",
      "当前覆盖率为：0.252591\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：503\n",
      "当前精确率为：0.095129\n",
      "当前召回率为：0.270898\n",
      "当前流行度为：52.809945\n",
      "当前覆盖率为：0.252591\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：504\n",
      "当前精确率为：0.095040\n",
      "当前召回率为：0.272345\n",
      "当前流行度为：52.854469\n",
      "当前覆盖率为：0.252591\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：505\n",
      "当前精确率为：0.095347\n",
      "当前召回率为：0.272147\n",
      "当前流行度为：52.870005\n",
      "当前覆盖率为：0.252591\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：506\n",
      "当前精确率为：0.095306\n",
      "当前召回率为：0.272350\n",
      "当前流行度为：52.878414\n",
      "当前覆盖率为：0.252591\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：507\n",
      "当前精确率为：0.095759\n",
      "当前召回率为：0.272383\n",
      "当前流行度为：52.908979\n",
      "当前覆盖率为：0.252591\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：508\n",
      "当前精确率为：0.095866\n",
      "当前召回率为：0.273159\n",
      "当前流行度为：52.904532\n",
      "当前覆盖率为：0.252591\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：509\n",
      "当前精确率为：0.095678\n",
      "当前召回率为：0.272622\n",
      "当前流行度为：52.833993\n",
      "当前覆盖率为：0.253659\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：510\n",
      "当前精确率为：0.095539\n",
      "当前召回率为：0.272480\n",
      "当前流行度为：52.820544\n",
      "当前覆盖率为：0.253659\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：511\n",
      "当前精确率为：0.095401\n",
      "当前召回率为：0.272338\n",
      "当前流行度为：52.817422\n",
      "当前覆盖率为：0.253659\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：512\n",
      "当前精确率为：0.095410\n",
      "当前召回率为：0.273108\n",
      "当前流行度为：52.784819\n",
      "当前覆盖率为：0.254116\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：513\n",
      "当前精确率为：0.095517\n",
      "当前召回率为：0.273639\n",
      "当前流行度为：52.812578\n",
      "当前覆盖率为：0.254116\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：514\n",
      "当前精确率为：0.095671\n",
      "当前召回率为：0.274154\n",
      "当前流行度为：52.835802\n",
      "当前覆盖率为：0.254116\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：515\n",
      "当前精确率为：0.096117\n",
      "当前召回率为：0.273885\n",
      "当前流行度为：52.848451\n",
      "当前覆盖率为：0.254116\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：516\n",
      "当前精确率为：0.095979\n",
      "当前召回率为：0.275292\n",
      "当前流行度为：52.823745\n",
      "当前覆盖率为：0.254116\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：517\n",
      "当前精确率为：0.095841\n",
      "当前召回率为：0.274820\n",
      "当前流行度为：52.758757\n",
      "当前覆盖率为：0.255488\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：518\n",
      "当前精确率为：0.095656\n",
      "当前召回率为：0.274289\n",
      "当前流行度为：52.691462\n",
      "当前覆盖率为：0.257012\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：519\n",
      "当前精确率为：0.095472\n",
      "当前召回率为：0.273761\n",
      "当前流行度为：52.655351\n",
      "当前覆盖率为：0.257012\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：520\n",
      "当前精确率为：0.095529\n",
      "当前召回率为：0.275157\n",
      "当前流行度为：52.659812\n",
      "当前覆盖率为：0.257012\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：521\n",
      "当前精确率为：0.095585\n",
      "当前召回率为：0.276000\n",
      "当前流行度为：52.682298\n",
      "当前覆盖率为：0.257012\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：522\n",
      "当前精确率为：0.095402\n",
      "当前召回率为：0.275472\n",
      "当前流行度为：52.620455\n",
      "当前覆盖率为：0.258079\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：523\n",
      "当前精确率为：0.095315\n",
      "当前召回率为：0.275901\n",
      "当前流行度为：52.656697\n",
      "当前覆盖率为：0.258079\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：524\n",
      "当前精确率为：0.095420\n",
      "当前召回率为：0.275711\n",
      "当前流行度为：52.595424\n",
      "当前覆盖率为：0.258841\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：525\n",
      "当前精确率为：0.095238\n",
      "当前召回率为：0.275186\n",
      "当前流行度为：52.577481\n",
      "当前覆盖率为：0.258841\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：526\n",
      "当前精确率为：0.095152\n",
      "当前召回率为：0.275613\n",
      "当前流行度为：52.571820\n",
      "当前覆盖率为：0.258841\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：527\n",
      "当前精确率为：0.095114\n",
      "当前召回率为：0.275802\n",
      "当前流行度为：52.613857\n",
      "当前覆盖率为：0.258841\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：528\n",
      "当前精确率为：0.095407\n",
      "当前召回率为：0.276394\n",
      "当前流行度为：52.612505\n",
      "当前覆盖率为：0.258841\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：529\n",
      "当前精确率为：0.095699\n",
      "当前召回率为：0.276730\n",
      "当前流行度为：52.642207\n",
      "当前覆盖率为：0.258841\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：530\n",
      "当前精确率为：0.095896\n",
      "当前召回率为：0.276711\n",
      "当前流行度为：52.649627\n",
      "当前覆盖率为：0.258841\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：531\n",
      "当前精确率为：0.096422\n",
      "当前召回率为：0.276501\n",
      "当前流行度为：52.673074\n",
      "当前覆盖率为：0.258841\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：532\n",
      "当前精确率为：0.096288\n",
      "当前召回率为：0.276250\n",
      "当前流行度为：52.707476\n",
      "当前覆盖率为：0.258841\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：533\n",
      "当前精确率为：0.096107\n",
      "当前召回率为：0.275731\n",
      "当前流行度为：52.660183\n",
      "当前覆盖率为：0.258994\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：534\n",
      "当前精确率为：0.096442\n",
      "当前召回率为：0.275463\n",
      "当前流行度为：52.670417\n",
      "当前覆盖率为：0.258994\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：535\n",
      "当前精确率为：0.096262\n",
      "当前召回率为：0.274948\n",
      "当前流行度为：52.707808\n",
      "当前覆盖率为：0.258994\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：536\n",
      "当前精确率为：0.096222\n",
      "当前召回率为：0.275835\n",
      "当前流行度为：52.657654\n",
      "当前覆盖率为：0.261128\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：537\n",
      "当前精确率为：0.096136\n",
      "当前召回率为：0.277183\n",
      "当前流行度为：52.687574\n",
      "当前覆盖率为：0.261128\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：538\n",
      "当前精确率为：0.096004\n",
      "当前召回率为：0.277133\n",
      "当前流行度为：52.607439\n",
      "当前覆盖率为：0.263262\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：539\n",
      "当前精确率为：0.095826\n",
      "当前召回率为：0.276618\n",
      "当前流行度为：52.560069\n",
      "当前覆盖率为：0.263720\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：540\n",
      "当前精确率为：0.095787\n",
      "当前召回率为：0.276611\n",
      "当前流行度为：52.585792\n",
      "当前覆盖率为：0.263720\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：541\n",
      "当前精确率为：0.095610\n",
      "当前召回率为：0.276100\n",
      "当前流行度为：52.632814\n",
      "当前覆盖率为：0.263720\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：542\n",
      "当前精确率为：0.096633\n",
      "当前召回率为：0.275902\n",
      "当前流行度为：52.635521\n",
      "当前覆盖率为：0.263720\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：543\n",
      "当前精确率为：0.096547\n",
      "当前召回率为：0.275854\n",
      "当前流行度为：52.669618\n",
      "当前覆盖率为：0.263720\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：544\n",
      "当前精确率为：0.096461\n",
      "当前召回率为：0.275474\n",
      "当前流行度为：52.699453\n",
      "当前覆盖率为：0.263720\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：545\n",
      "当前精确率为：0.096560\n",
      "当前召回率为：0.275176\n",
      "当前流行度为：52.707390\n",
      "当前覆盖率为：0.263720\n",
      "\n",
      "\n",
      "已经处理过的测试集用户数目为：546\n",
      "当前精确率为：0.097482\n",
      "当前召回率为：0.275177\n",
      "当前流行度为：52.721616\n",
      "当前覆盖率为：0.263720\n",
      "\n",
      "\n",
      "用时：342.782133秒\n"
     ]
    }
   ],
   "source": [
    "'''\n",
    "obj_user：测试集中用户\n",
    "result：obj_user在测试集中的数据部分\n",
    "train_obj_user：obj_user在训练集中的部分\n",
    "train_items_obj_user：obj_user在训练集中交互过的物品名单\n",
    "all_Kneighbors_set：train_items_obj_user中每一项物品的K近邻的并集（没有重复）\n",
    "rank：给obj_user待推荐的物品的偏好\n",
    "item1,item2分别表示给obj_user推荐的物品和obj_user在测试集中的交互物品，即预测和标签\n",
    "Item1表示累计已经推荐的物品名单（所有item1的并）\n",
    "recall，precision，popularity分别表示obj_user的预测指标，首字母大写表示总的平均预测情况\n",
    "'''\n",
    "start=time.time()\n",
    "#定义在预测过程中需要更新的评价指标\n",
    "Recall=0\n",
    "Precision=0\n",
    "Popularity=0\n",
    "Number=1\n",
    "Item1=set()       #最终推荐物品名单\n",
    "Item2=set()       #测试集用户的行为名单\n",
    "for obj_user, result in test.groupby('userId'):\n",
    "    result=result.reset_index(drop=False)\n",
    "    train_obj_user=train[train['userId']==obj_user]\n",
    "    train_items_obj_user=train_obj_user['movieId'].unique()\n",
    "    all_Kneighbors_set=set()\n",
    "    for train_item_obj_user in train_items_obj_user:\n",
    "        df_W_train_item_obj_user=df_W[df_W['item1']==train_item_obj_user]\n",
    "        temp_Kneighbors,temp_relevance=get_Kneighbors(df_W_train_item_obj_user,100)\n",
    "        all_Kneighbors_set=all_Kneighbors_set.union(set(temp_Kneighbors))\n",
    "        \n",
    "    rank={}\n",
    "    for item in all_Kneighbors_set:\n",
    "\n",
    "        #首先判断item是否能被推荐,如果item已经在训练集中被obj_user交互过，那么它将不会被推荐：\n",
    "        if item in set(train_items_obj_user):\n",
    "            continue\n",
    "        #其次判断obj_user是否对item感兴趣，即Preference中是否存在键值(obj_user,item)。若未出现，说明obj_user对item的感兴趣程度为0，则也不予推荐。\n",
    "        if (obj_user,item) not in Preference.keys():\n",
    "            #print(\"用户%d对物品%d不感兴趣\"%(obj_user,item))\n",
    "            continue\n",
    "        #从Preference中获取obj_user对item的感兴趣程度，放在rank里\n",
    "        if item not in rank:\n",
    "            rank[item]=0\n",
    "        rank[item]=Preference[obj_user,item]\n",
    "        \n",
    "    item1=getTopK(rank,40)\n",
    "    temp=test[test['userId']==obj_user]\n",
    "    item2=list(temp['movieId'].unique())\n",
    "    \n",
    "    if len(item1)==0:\n",
    "        print(\"无法对用户%d做出推荐，因为该用户的感兴趣电影数为0\"%obj_user)\n",
    "        continue\n",
    "        \n",
    "    Item1=Item1.union(set(item1))\n",
    "    Item2=Item2.union(set(item2))    \n",
    "    popularity=Popularity_func(item1,df_movie_popularity)\n",
    "    recall=Recall_func(item1,item2)\n",
    "    precision=Precision_func(item1,item2)    \n",
    "    \n",
    "    Coverage=Coverage_func(Item1,Item2) \n",
    "    Popularity=(Number-1)*Popularity/Number + popularity/Number\n",
    "    Recall=(Number-1)*Recall/Number + recall/Number\n",
    "    Precision=(Number-1)*Precision/Number + precision/Number\n",
    "    \n",
    "#     print(\"该用户精确率为：%f\"%precision)\n",
    "#     print(\"该用户召回率为：%f\"%recall)\n",
    "#     print(\"该用户的流行度为：%f\"%popularity)\n",
    "    print(\"已经处理过的测试集用户数目为：%d\"%Number)  \n",
    "    print(\"当前精确率为：%f\"%Precision)\n",
    "    print(\"当前召回率为：%f\"%Recall)\n",
    "    print(\"当前流行度为：%f\"%Popularity)  \n",
    "    print(\"当前覆盖率为：%f\"%Coverage)\n",
    "    print('\\n')\n",
    "    Number+=1\n",
    "        \n",
    "end=time.time()\n",
    "print(\"用时：%f秒\"%(end-start))\n",
    "        \n",
    "        "
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.9.12"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
